我有這樣的代碼:XMLHttpRequest的變化POST到OPTION
net.requestXHR = function() {
this.xhr = null;
if(window.XMLHttpRequest === undefined) {
window.XMLHttpRequest = function() {
try {
// Use the latest version of the activex object if available
this.xhr = new ActiveXObject("Msxml2.XMLHTTP.6.0");
}
catch(e1) {
try {
// Otherwise fall back on an older version
this.xhr = new ActiveXObject("Mxsml2.XMLHTTP.3.0");
}
catch(e2) {
//Otherwise, throw an error
this.xhr = new Error("Ajax not supported in your browser");
}
}
};
}
else
this.xhr = new XMLHttpRequest();
}
net.requestXHR.prototype.post = function(url, data) {
if(this.xhr != null) {
this.xhr.open("POST", url);
this.xhr.setRequestHeader("Content-Type", "application/json");
this.xhr.send(data);
}
}
var rs = new net.requestSpeech();
console.log(JSON.stringify(interaction));
rs.post("http://localhost:8111", JSON.stringify(interaction));
當發送執行,我有這個日誌:
OPTIONS http://localhost:8111/ [HTTP/1.1 405 Method Not Allowed 74ms]
而在本地主機:8111我有一個reslet serverResource接受交,這是同源策略的問題?我修改restlet以放置允許來源的標題,我用另一個GET請求(在jquery中)測試它,並且工作正常。我有同樣的來源解決問題,因爲我使用html5瀏覽器,並且我的服務器把頭部放在響應中,所以爲什麼發送給我這個錯誤?爲什麼要改變POST的OPTION? 謝謝!
可能的複製?:我覺得沒什麼,但它是真實的,但問題是這兩個問題的 一樣,但我是指因爲這個問題是 存在與瀏覽器的問題,另一方面,第一指向 jquery。根據經驗,時間不計算重複, 答案是不同的,但是這兩個問題都相互補充 是真的。
[爲什麼我會得到OPTIONS請求而不是GET請求?](https://stackoverflow.com/questions/1256593/why-am-i-getting-an-options-request-instead-of-a -get-request) – Carvallegro