मैं एक API एक डोमेन है कि CORS निम्न हेडर के साथ सक्षम पर होस्ट की गई असफल:क्रॉस डोमेन एक्सएचआर
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Max-Age: 1728000
मैं hackst.com से किसी GET या पोस्ट अनुरोध बनाने के लिए कर रहा हूँ और यह ठीक काम करता है। लिंक: http://hackst.com/#w3SbV
किसी अन्य डोमेन पर होस्ट किए गए मेरे रीढ़ की हड्डी ऐप से, GET अनुरोध ठीक काम करते हैं। लेकिन जब मैं बना सकते हैं और एक नए मॉडल को बचाने के लिए (यानी एक पोस्ट अनुरोध बनाने) की कोशिश है, यह निम्न त्रुटि के साथ विफल:
Failed to load resource: the server responded with a status of 501 (Not Implemented) http://projectwhatup.us:5000/api/posts
XMLHttpRequest cannot load http://projectwhatup.us:5000/api/posts. Origin http://ayush.projectwhatup.us is not allowed by Access-Control-Allow-Origin.
मेरे प्रासंगिक रीढ़ कोड:
var newPostData = {
topic : "New Post",
body : "new body",
user_id : 1,
};
var newPostModel = new Post(newPostData);
this.model.create(newPostModel);
मैं भी खत्म करने की कोशिश की create
विधि की सवारी और इस तरह मैन्युअल रूप से एक पोस्ट अनुरोध बनाने:
create : function(data) {
console.log('overriden create');
$.ajax({
"url" : this.url,
"async" : true,
"beforeSend" : function(obj){
console.log(obj);
},
"contentType" : 'application/json',
//"crossDomain" : true, // uncommenting this doesnt help either
"headers" : {
},
"dataType" : 'json',
"type" : 'POST',
"data" : JSON.stringify(data),
"error" : function(err){
console.log('new post creation failed');
console.log(err);
},
"success" : function(resp){
console.log('new post created');
console.log(resp);
}
});
}
एक ही त्रुटि।
मैंने JSFiddle पर एक अकेले जीईटी अनुरोध की कोशिश की (http://jsfiddle.net/X9cqh/5/), लेकिन यह विफल रहता है भले ही मेरा रीढ़ की हड्डी ऐप जीईटी अनुरोध को ठीक कर सके।
मैं इस बिंदु पर पूरी तरह से अनजान हूं। कोई संकेत, पॉइंटर्स, समाधान?
[hurl.it] (http://hurl.it/hurls/1330531e4f6c2b80fe278890b412cb50c3e4857c/432866d6c733527ea02f6436de63cbfac1a9ccc5) अपने सर्वर पर HEAD अनुरोध को देखते हुए ऐसा लगता है कि CORS केवल 'http के लिए सक्षम किया गया है: // ayush.projectwhatup.us' – teddybeard
हैकस्टॉम से अनुरोध कैसे मिलता है, हालांकि? – xbonez
ऐसा इसलिए है क्योंकि अनुरोध आपके वेब ब्राउज़र द्वारा नहीं किया जा रहा है। Hurl.it की तरह, जब आप एक हैकस्ट बनाते हैं।कॉम अनुरोध, इसे अपने सर्वर द्वारा बैक एंड पर निष्पादित किया जाता है और फिर परिणाम आपके वेब ब्राउज़र में प्रदर्शित करता है। – teddybeard