php ajax post如何处理多个返回信息?
目前有的代码:document.getElementById("submit").innerHTML="Sending...";$.ajax({url:'post.php...
目前有的代码:
document.getElementById("submit").innerHTML = "Sending...";
$.ajax({
url: 'post.php',
type: "POST",
dataType: "json",
data: {name:name, password: password, email:email},
success: function(data) {
document.getElementById("submit").innerHTML = "Get Report";
console.log(data);
alert(data.status);
},
error: function(data){
document.getElementById("submit").innerHTML = "Get Report";
console.log(data);
alert("error");
}
});
这部分我也不确定对不对
在php端,有多重验证,所以会有过种错误返回,php端应该怎么写呢?
比如:验证密码正确与否->验证名字与email是否匹配->生成报告(是否成功?)
一共要处理三步,每一步都有可能出错需要返回信息 展开
document.getElementById("submit").innerHTML = "Sending...";
$.ajax({
url: 'post.php',
type: "POST",
dataType: "json",
data: {name:name, password: password, email:email},
success: function(data) {
document.getElementById("submit").innerHTML = "Get Report";
console.log(data);
alert(data.status);
},
error: function(data){
document.getElementById("submit").innerHTML = "Get Report";
console.log(data);
alert("error");
}
});
这部分我也不确定对不对
在php端,有多重验证,所以会有过种错误返回,php端应该怎么写呢?
比如:验证密码正确与否->验证名字与email是否匹配->生成报告(是否成功?)
一共要处理三步,每一步都有可能出错需要返回信息 展开
2个回答
展开全部
$.post是提供简单的封装的ajax post请求的方法,没办法进行更详细的配置。改为使用$.ajax把,里面有一个参数可以配置超时时间如$.ajax({url:"xxx.php",type:"POST",dataType:"json",timeout:60000, //超时时间,现在设置为60s。success:function(data){ console.log(data);}});更详细的配置可以查看jQuery的API文档。另外需要你的服务器端配置的超时时间不能小于jQuery里面配置的。要不然jQuery还没有超时,服务器端直接返回timeout了。同时优化一下服务端的处理,提高相应速度也是一个不错的选择。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就统一返回格式就好了,如都返回json数据2条,一个状态,一个具体信息,错误的就返回error+具体原因,正确返回success+具体原因, 在ajax里面接受如
//后端数据返回json {state:'succsee',data:'提交成功'}
$.ajax({
url: 'post.php',
type: "POST",
dataType: "json",
data: {name:name, password: password, email:email},
success: function(data) {
document.getElementById("submit").innerHTML = "Get Report";
console.log(data);
if(data.state == 'success'){
alert(data.data);
}else{ //否则为error
alert(data.data);
}
},
error: function(data){
document.getElementById("submit").innerHTML = "Get Report";
console.log(data);
alert("error");
}
});
追问
谢谢
我现在后端是这样
无论怎么返回都是error
应该怎么改请问
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询