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("提交成功: \n" + msgjson.msg);
return 1;
}else{
alert("提交数据时发生了错误: \n" +msgjson.msg);
}
},
error:function (msg) {
alert("提交失败");
return -1;
}
});
**注:在2019年写的旧项目可能因为用的jquery版本低,msg是可以直接是一个json对象直接可以使用 if(msg.code=="1")的。之前php返回也不会到error函数去。归根结底是jquery版本对json的格式要求严格了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)