У меня есть API, размещенного на одного домена, что позволило CORS со следующими заголовками:Междоменное XHR неудовлетворительную
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Max-Age: 1728000
Я могу сделать GET или POST запрос из hackst.com и она отлично работает. Ссылка: http://hackst.com/#w3SbV
Из моего базового приложения, размещенного в другом домене, запросы GET работают нормально. Но когда я пытаюсь создать и сохранить новую модель (то есть сделать запрос POST), он не со следующей ошибкой:
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
и сделать запрос POST вручную, как это:
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);
}
});
}
ту же ошибку.
Я попробовал автономный запрос GET на JSFiddle (http://jsfiddle.net/X9cqh/5/), но это не удается, хотя мое базовое приложение может сделать запрос GET прекрасным.
В настоящий момент я совершенно не знаю. Любые подсказки, указатели, решения?
глядя на [hurl.it] (http://hurl.it/hurls/1330531e4f6c2b80fe278890b412cb50c3e4857c/432866d6c733527ea02f6436de63cbfac1a9ccc5) запроса HEAD, на ваш сервер, это выглядит как CORS разрешена только для 'HTTP: // ayush.projectwhatup.us' – teddybeard
Как проходит запрос от hackst.com? – xbonez
Это потому, что ваш веб-браузер не делает запрос. Подобно Hurl.it, когда вы создаете hackst.com, он выполняется их сервером на задней панели, а затем отображает результаты в вашем веб-браузере. – teddybeard