我不能通过带有javascript的ajax将内容发布到php
我在通过ajax将帖子内容发送到php文件时遇到问题。我的目的是发送一个对象,该对象包含将在save.php文件中使用的数据,它必须处理响应,以便在警报窗口中显示我不能通过带有javascript的ajax将内容发布到php,javascript,php,jquery,ajax,asynchronous,Javascript,Php,Jquery,Ajax,Asynchronous,我在通过ajax将帖子内容发送到php文件时遇到问题。我的目的是发送一个对象,该对象包含将在save.php文件中使用的数据,它必须处理响应,以便在警报窗口中显示 var iden = true; var object = { 'titulo': 'In the mountain', 'dest': 'Single of', 'edit': true, 'previ': 'yes', 'iden': iden }; var xhr = new XML
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[Deprecation]主服务器上的同步XMLHttpRequest
线程因其对终端的有害影响而被弃用
用户体验。如需更多帮助,请查看
第56行对应于:
Xhr.open('POST','save.php',false)代码>
如果我将async参数设置为true,它将跳过条件If(xhr.status==200)中的else,并显示错误警报
问题出在哪里
也可以说,使用jquery它可以完美地工作,但我希望使用Javascript
使用jquery:
$.ajax({
url: "save.php",
type: "post",
data: object
}).done(function(data) {
alert(data);
});
编辑:
$.ajax({
url: "save.php",
type: "post",
data: object
}).done(function(data) {
alert(data);
});
console.log(xhr)强>
XMLHttpRequest{readyState:1,超时:0,withCredentials:false,
upload:XMLHttpRequestUpload,onreadystatechange:function…}onBort:
null onerror:null onload:null onloadend:null onloadstart:null
onprogress:null onreadystatechange:function()ontimeout:null
readyState:4响应:“”响应文本:“”响应类型:“”
responseURL:“responseXML:空状态:
200状态文本:“确定”超时:0
尝试更改这行代码:xhtp.open(“POST”,“save.php”,false)
并将第三个参数设置为true
。如果可以的话,遵循这个例子
var对象={
“泰特罗”:“在山上”,
'目的地':'单一的',
“编辑”:true,
“previ”:“是”,
“iden”:iden
};
函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
document.getElementById(“demo”).innerHTML=
这个.responseText;
}
};
open(“POST”,“save.php”,true);
xhttp.send(对象);
XMLHttpRequest对象
更改内容
尝试更改这行代码:xhttp.open(“POST”,“save.php”,false);
并将第三个参数设置为true
。如果可以,请遵循此示例
var对象={
“泰特罗”:“在山上”,
'目的地':'单一的',
“编辑”:true,
“previ”:“是”,
“iden”:iden
};
函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
document.getElementById(“demo”).innerHTML=
这个.responseText;
}
};
open(“POST”,“save.php”,true);
xhttp.send(对象);
XMLHttpRequest对象
更改内容
那么,我可以说使用jQuery:)。但是我希望能够使用javascript来完成这项工作,而不仅仅是为了这个目的使用jQuery库。:/那么,我可以说使用jQuery:)。但是我希望能够使用javascript来完成这项工作,而不仅仅是为了这个目的使用jQuery库。:/很好,只有一个注释,默认情况下,xhttp.open有它的第三个pa参数默认为true,则无需编写第三个参数。@PabloCesarCordovaMorales感谢您的澄清,正如文章所说,默认为true,您无需添加它。我只是更改了所有内容,并给出了相同的错误。它甚至不将每篇文章的数据发送到php文件。我已使用add编辑了第一篇文章控制台中的传统信息。很好,只有一个注释,即xhttp.open,默认情况下,其第三个参数为true,则无需编写第三个参数。@PabloCesarCordovaMorales感谢您的澄清,正如文章所说,它将为true,默认情况下,您无需添加它。我只是更改了所有内容,并给出了ame错误。它甚至没有将每篇文章的数据发送到php文件。我已经用控制台中的附加信息编辑了第一篇文章。