আমি নোড.জেএস এর জন্য এক্সপ্রেস ফ্রেমওয়ার্কে একটি REST এপিআই লিখেছি যা ক্রোমে জেএস কনসোল, এবং ইউআরএল বার ইত্যাদির অনুরোধগুলির জন্য কাজ করে। আমি এখন অন্য অ্যাপ্লিকেশন থেকে অনুরোধের জন্য এটি অন্যরকমভাবে কাজ করার চেষ্টা করছি a ডোমেন (সিওআরএস)।
প্রথম অনুরোধটি জাভাস্ক্রিপ্টের সামনের প্রান্তে স্বয়ংক্রিয়ভাবে তৈরি হয়েছে / এপিআই / অনুসন্ধান? ইউরি =, এবং "প্রিফলাইট" বিকল্পগুলির অনুরোধে ব্যর্থ হয়েছে বলে মনে হচ্ছে।
আমার এক্সপ্রেস অ্যাপে, আমি ব্যবহার করে CORS শিরোনাম যুক্ত করছি:
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
// intercept OPTIONS method
if ('OPTIONS' == req.method) {
res.send(200);
}
else {
next();
}
};
এবং:
app.configure(function () {
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(allowCrossDomain);
app.use(express.static(path.join(application_root, "public")));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
Chrome কনসোল থেকে আমি এই শিরোলেখগুলি পেয়েছি:
ইউআরএলটির অনুরোধ করুন: http: //furious-night-5419.herokuapp.com/api/search? Uri = http% 3A% 2F% 2Flocalhost% 3A5000% 2FCલેક્શન% 2F1% 2Fdocuments% 2F1
অনুরোধের পদ্ধতি: বিকল্পগুলি
স্থিতি কোড: 200 ঠিক আছে
অনুরোধ শিরোনাম
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:origin, x-annotator-auth-token, accept
Access-Control-Request-Method:GET
Connection:keep-alive
Host:furious-night-5419.herokuapp.com
Origin:http://localhost:5000
Referer:http://localhost:5000/collections/1/documents/1
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5
স্ট্রিং প্যারামিটারগুলি অনুসন্ধান করুন
uri:http://localhost:5000/collections/1/documents/1
প্রতিক্রিয়া শিরোনাম
Allow:GET
Connection:keep-alive
Content-Length:3
Content-Type:text/html; charset=utf-8
X-Powered-By:Express
এআইপি অ্যাপ্লিকেশন দ্বারা প্রেরণ করা উপযুক্ত শিরোনামের অভাবের মতো দেখাচ্ছে কি?
ধন্যবাদ
OPTIONS
পদ্ধতির জন্য কোনও হ্যান্ডলারের প্রয়োজনীয়তা বুঝতে পারি না । কেউ দয়া করে আমাকে বুঝতে সাহায্য করতে পারেন যে কেনPOST
উভয়POST
এবংOPTIONS
পদ্ধতি উভয়ই পরিচালনা করার পরিবর্তে কেবল পদ্ধতিটি পরিচালনা করছেন না ?