XMLHttpRequest ফাইল লোড করতে পারে না। ক্রস অরিজিন অনুরোধগুলি কেবলমাত্র HTTP- র জন্য সমর্থিত


113

আমি নিম্নলিখিত ত্রুটি পাচ্ছি:

XMLHttpRequest cannot load file:///C:/Users/richa.agiwal/Desktop/get/rm_Library/templates/template_viewSettings.html. Cross origin requests are only supported for HTTP. 

আমি বুঝতে পারি যে এই প্রশ্নের উত্তর আগেই দেওয়া হয়েছিল, তবে আমি এখনও আমার সমস্যার সমাধান পাইনি। আমি chrome.exe --allow-file-access-from-filesকমান্ড প্রম্পট থেকে চালানোর চেষ্টা করেছি এবং ফাইলটি স্থানীয় ফাইল সিস্টেমে স্থানান্তরিত করেছি, তবে আমি এখনও একই ত্রুটি পেয়েছি।

আমি কোন পরামর্শ প্রশংসা করি!


এখানেও একই রকম! stackoverflow.com/questions/10752055/…
Ngô ấc Tuấn

উত্তর:


155

আপনি যদি আপনার ব্যক্তিগত কম্পিউটারে কোড সম্পাদকে এইচটিএমএল এবং জাভাস্ক্রিপ্ট লেখার মতো কিছু করছেন এবং আপনার ব্রাউজারে আউটপুট পরীক্ষা করছেন, আপনি সম্ভবত ত্রুটি বার্তা পাবেন Cross Origin Requests। আপনার ব্রাউজারটি এইচটিএমএল রেন্ডার করবে এবং সার্ভার সেট আপের প্রয়োজন ছাড়াই আপনার ব্রাউজারে জাভাস্ক্রিপ্ট, jQuery, কৌণিক জে চালাবে। তবে অনেক ওয়েব ব্রাউজার ক্রস সাইট আক্রমণগুলি দেখার জন্য অগ্রগতি লাভ করেছে এবং অনুরোধগুলি ব্লক করবে। আপনি চাইছেন না যে কেবলমাত্র কেউই আপনার ওয়েব ব্রাউজার থেকে আপনার হার্ড ড্রাইভটি পড়তে সক্ষম হন। আপনি নোটপ্যাড ++ ব্যবহার করে পুরোপুরি কার্যকরী ওয়েব পৃষ্ঠা তৈরি করতে পারেন যা জাভাস্ক্রিপ্ট চালাবে এবং jQuery এবং কৌণিক জেসের মতো ফ্রেমওয়ার্কগুলি; এবং নোটপ্যাড ++ মেনু আইটেমটি ব্যবহার করে সবকিছু পরীক্ষা করুন,RUN, LAUNCH IN FIREFOX। এটি একটি ওয়েব পৃষ্ঠা তৈরি করা শুরু করার একটি দুর্দান্ত, সহজ উপায় তবে আপনি যখন লেআউট, সিএসএস এবং সাধারণ পৃষ্ঠা নেভিগেশন ছাড়া আরও কিছু তৈরি শুরু করেন, আপনার মেশিনে একটি স্থানীয় সার্ভার স্থাপন করা দরকার।

এখানে আমি ব্যবহার কিছু বিকল্প আছে।

  1. আপনার ওয়েব পৃষ্ঠাগুলি ফায়ারফক্সে স্থানীয়ভাবে পরীক্ষা করুন, তারপরে আপনার হোস্টে স্থাপন করুন।
  2. বা: একটি স্থানীয় সার্ভার চালান

ফায়ারফক্সে পরীক্ষা করুন, হোস্টে স্থাপন করুন

  1. ফায়ারফক্স আপনার হার্ড ড্রাইভ থেকে পরিবেশিত ফাইলগুলি থেকে ক্রস অরিজিন অনুরোধগুলিকে মঞ্জুরি দেয়
  2. আপনার ওয়েব হোস্টিং সাইট ম্যানিফেস্ট ফাইল দ্বারা কনফিগার করা ফোল্ডারে ফাইলগুলিতে অনুরোধের অনুমতি দেবে

একটি স্থানীয় সার্ভার চালান

  • আপনার কম্পিউটারে অ্যাপাচি বা পাইথনের মতো একটি সার্ভার চালান
  • পাইথন কোনও সার্ভার নয় তবে এটি একটি সাধারণ সার্ভার চালাবে

পাইথন দিয়ে একটি লোকাল সার্ভার চালান

আপনার আইপি ঠিকানা পান:

  • উইন্ডোজে: 'কমান্ড প্রম্পট' খুলুন। সমস্ত প্রোগ্রাম, আনুষাঙ্গিক, কমান্ড প্রম্পট
  • আমি সর্বদা Command Promptহিসাবে চালানো AdministratorCommand Promptমেনু আইটেম ডান ক্লিক করুন এবং সন্ধান করুনRun As Administrator
  • কমান্ডটি টাইপ করুন: ipconfigএবং এন্টার টিপুন।
  • অনুসন্ধান করুন: আইপিভি 4 ঠিকানা। । । । । । । । 12.123.123.00
  • এমন ওয়েবসাইট রয়েছে যা আপনার আইপি ঠিকানাও প্রদর্শন করবে

যদি পাইথন না থাকে তবে এটি ডাউনলোড করে ইনস্টল করুন।

'কমান্ড প্রম্পট' ব্যবহার করে আপনাকে অবশ্যই সেই ফোল্ডারে যেতে হবে যেখানে ফাইলগুলি আপনি ওয়েবপৃষ্ঠা হিসাবে পরিবেশন করতে চান।

  • আপনার যদি সি: \ রুট ডিরেক্টরিতে ফিরে যেতে হয় - সিডি / টাইপ করুন
  • সিডি ড্রাইভ টাইপ করুন:। ফোল্ডার \ ফোল্ডার \ ইত্যাদি ফোল্ডারে যাওয়ার জন্য যেখানে আপনার .Html ফাইল (বা পিএইচপি, ইত্যাদি) রয়েছে folder
  • পথটি পরীক্ষা করুন। টাইপ করুন: কমান্ড প্রম্পটে পাথ। অজগর অবস্থিত ফোল্ডারে যাওয়ার পথটি আপনাকে অবশ্যই দেখতে হবে। উদাহরণস্বরূপ, যদি পাইথন সি তে থাকে: \ পাইথন 27, তবে আপনাকে অবশ্যই সেই ঠিকানাটি তালিকাভুক্ত পাথগুলিতে দেখতে হবে।
  • পাইথন ডিরেক্টরিতে পাথটি যদি না থাকে তবে আপনাকে অবশ্যই পথটি সেট করতে হবে। টাইপ করুন: সহায়তা পথ এবং এন্টার টিপুন। আপনি পথের জন্য সাহায্য দেখতে পাবেন।
  • এর মতো কিছু টাইপ করুন: পথ সি: y পাইথন 27% পথ%
  • % পাথ% আপনার সমস্ত বর্তমান পাথ রাখে। আপনি আপনার সমস্ত বর্তমান পথ মুছে ফেলতে চান না, কেবল একটি নতুন পথ যুক্ত করুন।
  • যেখানে আপনি ফাইলগুলি পরিবেশন করতে চান সেই ফোল্ডারে নতুন পথ তৈরি করুন।
  • পাইথন সার্ভারটি শুরু করুন: প্রকার: python -m SimpleHTTPServer portযেখানে 'পোর্ট' আপনার পছন্দ হওয়া পোর্টের সংখ্যাpython -m SimpleHTTPServer 1337
  • আপনি বন্দরটি খালি রেখে দিলে এটি 8000 পোর্টে ডিফল্ট হয়
  • পাইথন সার্ভারটি যদি সফলভাবে শুরু হয় তবে আপনি একটি চিত্র দেখতে পাবেন।

স্থানীয়ভাবে আপনি ওয়েব অ্যাপ্লিকেশন চালান

  • একটি ব্রাউজার খুলুন
  • ঠিকানার লাইনে টাইপ করুন: http://your IP address:port
  • http://xxx.xxx.x.x:1337 বা http://xx.xxx.xxx.xx:8000ডিফল্ট জন্য
  • সার্ভারটি যদি কাজ করে তবে আপনি ব্রাউজারে আপনার ফাইলগুলির একটি তালিকা দেখতে পাবেন
  • আপনি যে ফাইলটি পরিবেশন করতে চান তাতে ক্লিক করুন এবং এটি প্রদর্শিত হবে।

আরও উন্নত সমাধান

  • একটি কোড সম্পাদক, ওয়েব সার্ভার এবং সংহতযুক্ত অন্যান্য পরিষেবাদি ইনস্টল করুন।

আপনি আপনার মেশিনে অ্যাপাচি, পিএইচপি, পাইথন, এসকিউএল, ডিবাগার ইত্যাদি পৃথকভাবে ইনস্টল করতে পারেন এবং তারপরে কীভাবে তাদের সমস্তকে একসাথে কাজ করা যায় তা নির্ধারণ করার জন্য প্রচুর সময় ব্যয় করতে পারেন, বা এমন সমস্ত সমাধানের সমাধানের সন্ধান করতে পারেন।

আমি নেটবিয়ান আইডিই সহ এক্সএএমপিপি ব্যবহার করতে পছন্দ করি। আপনি ডাব্লুএএমএপি ইনস্টল করতে পারেন যা User Interfaceঅ্যাপাচি এবং অন্যান্য পরিষেবাদি পরিচালনা ও সংহতকরণের জন্য সরবরাহ করে।


1
আপনি যদি এমএসডিএস কমান্ড প্রম্পট থেকে চলমান কমান্ডগুলির সাথে পরিচিত না হন তবে আপনি উইকিপিডিয়ায় আরও তথ্য পেতে পারেন: [লিঙ্ক] en.wikedia.org/wiki/List_of_DOS_commands
অ্যালান ওয়েলস

এই সমস্যাটিকে কেবল মোড়ানো দিয়ে সমাধান করার কোনও উপায় আছে কি? আমি wamp চালাচ্ছি এবং এখনও এই বার্তাটি গ্রহণ করছি। অ্যাপাচি, পিএইচপি এবং মাইএসকিউএল সমস্ত আপ টু ডেট
ব্যবহারকারী 2883071

দুর্ভাগ্যক্রমে আমি ডাব্লুএএমএপি ব্যবহার করি না, এবং আপনার উত্তর নেই। আপনার সেট আপ নির্দিষ্ট একটি নতুন প্রশ্ন জিজ্ঞাসা করুন।
অ্যালান ওয়েলস

ক্রস অরিজিন চেকটি অক্ষম করার বা এতে ফাইল: // প্রোটোকল যুক্ত করার কোনও উপায় আছে কি? আমি এমন একটি মোবাইল ওয়েবভিউতে কাজ করছি যা ফাইলটি: // এর মানচিত্রটিকে এপিপিতে সংস্থাগুলিতে দেখায় এবং আমি একটি ব্যাবেল জেএস স্ক্রিপ্ট লোড করার চেষ্টা করছি যা অভ্যন্তরীণভাবে <স্ক্রিপ্ট টাইপ = "পাঠ্য / ব্যাবেল" src = "ফাইলকে রূপান্তরিত করে: কোনও এক্সএমএলএইচটিপিআরউকেস্টে // ... ">।
mtsvetkov

মাইন্ডমাইন্ড নয়, অ্যাপ্লিকেশন অভিপ্রায় এবং এনএইচআরফিকে অনুমোদিত মঞ্জুরি দিয়ে এটি স্থির করুন। ডেস্কটপে আমি কর্স হেডারগুলি ডিবাগিংয়ের জন্য ক্রোমে যুক্ত করেছি।
mtsvetkov

91

সরল সমাধান

আপনি যদি খাঁটি এইচটিএমএল / জেএস / সিএসএস ফাইল দিয়ে কাজ করছেন।

ক্রোমে এই ছোট সার্ভার ( লিঙ্ক ) অ্যাপটি ইনস্টল করুন । অ্যাপ্লিকেশনটি খুলুন এবং আপনার প্রকল্প ডিরেক্টরিতে ফাইলের অবস্থান নির্দেশ করুন।

অ্যাপ্লিকেশনটিতে প্রদর্শিত url এ যান।

সম্পাদনা করুন: গুল্প ব্যবহার করে স্মার্ট সমাধান

পদক্ষেপ 1: গুলপ ইনস্টল করতে। আপনার টার্মিনালে নিম্নলিখিত কমান্ড চালান।

npm install gulp-cli -g
npm install gulp -D

পদক্ষেপ 2: আপনার প্রকল্প ডিরেক্টরিতে gulpfile.js নামে একটি ফাইল তৈরি করুন। এটির ভিতরে নিম্নলিখিত সামগ্রীটি অনুলিপি করুন।

var gulp        = require('gulp');
var bs          = require('browser-sync').create();   

gulp.task('serve', [], () => {
        bs.init({
            server: {
               baseDir: "./",
            },
            port: 5000,
            reloadOnRestart: true,
            browser: "google chrome"
        });
        gulp.watch('./**/*', ['', bs.reload]);
});

পদক্ষেপ 3: ব্রাউজার সিঙ্ক gulp প্লাগইন ইনস্টল করুন। Gulpfile.js উপস্থিত সেই একই ডিরেক্টরিতে, নিম্নলিখিত কমান্ডটি চালান

npm install browser-sync gulp --save-dev

পদক্ষেপ 4: সার্ভারটি শুরু করুন। Gulpfile.js উপস্থিত সেই একই ডিরেক্টরিতে, নিম্নলিখিত কমান্ডটি চালান

gulp serve

6
ফ্যান্টাস্টিক! স্যান্ডির উত্তরটি বিস্তৃত তবে আপনার উত্তরটি "এখনই এটি তৈরি করুন" সুবিধার্থে হাতছাড়া করে।
হল্ফ

1
উজ্জ্বল! সিওআরএসকে কাজ করার জন্য অভিনব রুটিনগুলি মনে রাখার দরকার নেই!
স্টোয়ান বেরভ

দুর্দান্ত ছোট অ্যাপ্লিকেশন। থেক্স :)
চিহ্নিত করুন

ব্রিলিল্যান্ট, সেরা এবং সহজ সমাধান
ফিরাসকৌবা

1
এই লিঙ্কটি আর উপলব্ধ নেই
gbade_

2

এই ত্রুটিটি ঘটছে কারণ আপনি সরাসরি ব্রাউজার থেকে এইচটিএমএল নথি খুলছেন। এটি ঠিক করতে আপনাকে একটি ওয়েব সার্ভার থেকে আপনার কোডটি পরিবেশন করতে হবে এবং লোকালহোস্টে এটি অ্যাক্সেস করতে হবে। আপনার যদি অ্যাপাচি সেটআপ থাকে তবে আপনার ফাইলগুলি পরিবেশন করতে এটি ব্যবহার করুন। কিছু আইডিই ওয়েব সার্ভারে তৈরি করেছে, যেমন জেটব্রেইনস আইডিই, এক্সলিপস ...

আপনার যদি নোড.জেস সেটআপ থাকে তবে আপনি HT- সার্ভার ব্যবহার করতে পারেন । কেবল চালান npm install http-server -gএবং আপনি এটি কিরিল ফুচসের মতো টার্মিনালে ব্যবহার করতে সক্ষম হবেনhttp-server C:\location\to\app.


2

জুড়ুন অ্যালান ওয়েলস এর সম্প্রসারিত উত্তর এখানে একটি দ্রুত ঠিক করা হয়

একটি স্থানীয় সার্ভার চালান

আপনি সার্ভ দিয়ে আপনার কম্পিউটারের যে কোনও ফোল্ডার পরিবেশন করতে পারেন

প্রথমে আপনি যে ফোল্ডারে পরিবেশন করতে চান তাতে কমান্ড লাইনটি ব্যবহার করে নেভিগেট করুন।

তারপর

npx i -g serve
serve

বা যদি আপনি এটি ডাউনলোড করে সার্ভ পরীক্ষা করতে চান

npx serve

এবং এটাই! আপনি আপনার ফাইলগুলি http: // লোকালহোস্ট: 5000 এ দেখতে পারেন

এখানে চিত্র বর্ণনা লিখুন


1

আমি স্থানীয়ভাবে আমার ওয়েব এপিআই প্রকল্প স্থাপন করার সময় আমি এই ত্রুটির মুখোমুখি হয়েছি এবং কেবল নীচে দেওয়া এই URL টি দিয়ে আমি API প্রকল্পটি কল করছি:

স্থানীয় হোস্ট // myAPIProject

যেহেতু ত্রুটি বার্তাটি বলে যে এটি http: // নয়, তারপরে আমি ইউআরএল পরিবর্তন করেছি এবং নীচের মত একটি উপসর্গ HTTP রেখেছি এবং ত্রুটিটি চলে গেছে।

HTTP: // স্থানীয় হোস্ট // myAPIProject


0

আপনি যদি ওয়েবস্টর্ম জাভাস্ক্রিপ্ট আইডিই ব্যবহার করেন তবে আপনি কেবল আপনার ব্রাউজারে ওয়েবস্টোরম থেকে আপনার প্রকল্পটি খুলতে পারেন। ওয়েবস্টোরম স্বয়ংক্রিয়ভাবে একটি সার্ভার শুরু করবে এবং আপনি এর মধ্যে আর কোনও ত্রুটি পাবেন না কারণ আপনি এখন অনুমোদিত / সমর্থিত প্রোটোকল (এইচটিটিপি) দিয়ে ফাইলগুলি অ্যাক্সেস করছেন।


0

আপনার প্রয়োজনের উপর নির্ভর করে তবে http: //myjson.com- এ আপনার জেএসওএন সংরক্ষণ করে অস্থায়ীভাবে আপনার (ডামি) জেএসএন পরীক্ষা করার একটি দ্রুত উপায়ও রয়েছে । এপিআই লিঙ্কটি অনুলিপি করুন এবং এটি আপনার জাভাস্ক্রিপ্ট কোডে আটকান। ভিওলা! আপনি কোডগুলি স্থাপন করতে চাইলে আপনার কোডগুলিতে সেই ইউআরএলটি পরিবর্তন করতে ভুলবেন না!


-2

এক্সজেপ্প ডিরেক্টরিটির এইচটিডোকসগুলিতে আপনার প্রকল্প ফোল্ডারটি রাখুন xampp নিয়ন্ত্রণ প্যানেল ব্যবহার করে আপনার অ্যাপাচি সার্ভারটি শুরু করুন তারপরে একটি ব্রাউজার খোলে লোকালহোস্ট / প্রজেক্টফোল্ডার তারপরে কাজ শুরু করে


এই উত্তরটি সম্পূর্ণ নয়।
উইলিয়াম ডুন

হাই উইলিয়াম ডান, এতে কী অনুপস্থিত ছিল তা আমাকে
sunil KV

1
আপনি ধরে নিচ্ছেন যে তিনি ইতিমধ্যে এক্সএএমপিপি ইনস্টল করেছেন, যা মূল প্রশ্নে বর্ণিত বলে মনে হয় না, এবং আপনি যদি নতুন কিছু ইনস্টল করার পরামর্শ দিচ্ছেন তবে কেন এবং ত্রুটির পিছনের কারণটি ব্যাখ্যা করা ভাল ধারণা - বিশেষ করে ভবিষ্যতে মানুষের এই পড়ার জন্য।
উইলিয়াম ডুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.