我通過ajax發送內容到php文件時遇到問題。我的意圖是發送一個包含將在save.php文件中使用的數據的對象,並且它必須處理響應,以便它顯示在警報窗口中。我無法通過ajax將內容發佈到php
var iden = true;
var object = {
'titulo': 'In the mountain',
'dest': 'Single of',
'edit': true,
'previ': 'yes',
'iden': iden
};
var xhr = new XMLHttpRequest();
xhr.open('POST', "save.php", false);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(object);
if (xhr.status == 200) {
xhr.onload = function() {
alert(this.responseText);
};
} else {
alert('error');
}
的問題是,試圖發送數據時,我得到了控制檯此消息:
Test.js:56 [棄用]同步XMLHttpRequest的主 線程已被棄用,因爲它的不利影響到用戶體驗的最終結果。如需更多幫助,請查詢https://xhr.spec.whatwg.org/。 56
線對應於:
Xhr.open ('POST', 'save.php', false);
如果我將async參數設置爲真,它跳躍的從其他條件,如果(xhr.status == 200)和顯示錯誤警報。
問題在哪裏?
也可以說,與jQuery它完美的作品,但我想用Javascript來做到這一點。
用jQuery:
$.ajax({
url: "save.php",
type: "post",
data: object
}).done(function(data) {
alert(data);
});
編輯:
的console.log(XHR);
的XMLHttpRequest {readyState的:1,超時:0,withCredentials:假的, 上傳:XMLHttpRequestUpload,的onreadystatechange:函數...} onabort: 空的onerror:空的onload:空onloadend:空onloadstart:空 onprogress:空的onreadystatechange:函數()ontimeout:空 readyState的:4響應: 「」 responseText的: 「」 的responseType: 「」 responseURL: 「http://localhost/save.php」 responseXML的:空狀態: 200狀態文本: 「OK」 超時:0
好吧,我可以說,使用jQuery呢:)。 – xsami
但我希望能夠用javascript來做到這一點,而不是僅僅爲此使用jquery庫。 :/ – PlayerWet