我有這樣的MooTools的代碼:MooTools的CORS請求VS本地JavaScript
new Request.JSON({
method: 'POST',
url: URL, /*URL TO ANOTHER DOMAIN*/
onSuccess: function(r){
callback(r);
}
}).post(data);
而這個代碼不發送POST請求(選項只)... 看看下面的代碼(它的偉大工程):
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);
編輯:
嘗試:.setHeader('Content-Type','application/x-www-form-urlencoded');
不過諾斯ing ...哪裏會有問題?
謝謝!
如果它發送OPTIONS請求,這聽起來像一個[CORS預檢請求(http://stackoverflow.com/questions/8685678/cors-how-do-preflight-an-httprequest),這表明使用的是您的跨網站請求中的非簡單請求標頭。您的非Mootools代碼設置爲「Content-type:application/x-www-form-urlencoded」,但您的Mootools代碼可能不會。 – apsillers
嘗試在您的mootools請求中設置「headers」選項。 – Nils
嘗試:.setHeader( '內容 - 類型', '應用程序/ x-WWW窗體-urlencoded');仍然沒有......問題在哪裏? – user889349