您现在的位置是:首页 >技术杂谈 >php无法返回标准JSON格式,导致的$.ajax返回的数据无法执行success的解决方案网站首页技术杂谈
php无法返回标准JSON格式,导致的$.ajax返回的数据无法执行success的解决方案
php
//返回信息
$arr_ret = array("code"=>"1","msg"=>"数据已经保存成功!");
echo json_encode($arr_ret);
js:
$.ajax({
type: "POST",
url: "./workpost.php",
async:false,
timeout:6000,
contentType: "application/json;charset=utf-8",
data: insertstr,
dateType: "text", // "json"会跑到error函数去
success:function(msg){
var msgjson = eval("(" + msg + ")");//关键位置,我也是从网上查的。
console.log(msgjson);
if(msgjson.code=="1"){
alert("提交成功: " + msgjson.msg);
return 1;
}else{
alert("提交数据时发生了错误: " +msgjson.msg);
}
},
error:function (msg) {
alert("提交失败");
return -1;
}
});
**注:在2019年写的旧项目可能因为用的jquery版本低,msg是可以直接是一个json对象直接可以使用 if(msg.code=="1")的。之前php返回也不会到error函数去。归根结底是jquery版本对json的格式要求严格了。