У меня есть этот MooTools код:MooTools CORS запрос против нативного Javascript
new Request.JSON({
method: 'POST',
url: URL, /*URL TO ANOTHER DOMAIN*/
onSuccess: function(r){
callback(r);
}
}).post(data);
И этот код не будет отправлять запросы POST (OPTIONS только) ... Посмотрите на приведенный ниже код (он прекрасно работает):
var http = null,
params = Object.toQueryString(data);
try {
http = new XMLHttpRequest();
} catch (e) {
try {
http = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
http = null;
alert("Your browser does not support AJAX!");
}
}
}
var url = URL;
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
var jsonData = JSON.parse(http.responseText); /*OR EVAL*/
callback(jsonData);
}
};
http.open("POST", url);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send(params);
EDIT:
Пробовал: .setHeader('Content-Type','application/x-www-form-urlencoded');
Еще Noth ... Где может возникнуть проблема?
Спасибо!
Если он отправляет запрос OPTIONS, это звучит как запрос [предварительный просмотр CORS] (http://stackoverflow.com/questions/8685678/cors-how-do-preflight-an-httprequest), который предполагает, что вы используете непростой заголовок запроса в вашем запросе на межсайтовый сайт. Ваш код, не относящийся к Mootools, устанавливает 'Content-type: application/x-www-form-urlencoded', но ваш код Mootools может и не быть. – apsillers
Попробуйте установить опцию 'headers' в запросе mootools. – Nils
Пробовал: .setHeader ('Content-Type', 'application/x-www-form-urlencoded'); Все еще ничего ... где проблема? – user889349