ajax请求数据
php返回
echo json_encode(['status'=>-999,'msg'=>'对不起,您还没有登录,请先登录']);
js接收到的数据是
{"status":-999,"msg":"\u5bf9\u4e0d\u8d77\uff0c\u60a8\u8fd8\u6ca1\u6709\u767b\u5f55\uff0c\u8bf7\u5148\u767b\u5f55"}
怎么办?
可以用evel转换一下
eval("("+str+")");
转换后为
{status: -999, msg: "对不起,您还没有登录,请先登录"}
可以写一个函数,如果返回数据是json对象,则直接使用,如果返回不是,则用evel转换一下
/**
* json转换,
* 如果ajax返回的是{"status":-999,"msg":"\u5bf9\u4e0d\u8d77\uff0c\u60a8\u8fd8\u6ca1\u6709\u767b\u5f55\uff0c\u8bf7\u5148\u767b\u5f55"}
* 可以转换为{status: -999, msg: "对不起,您还没有登录,请先登录"}
*/
function toJson(str){
var json = {};
try{
if(typeof(str )=="object"){
json = str;
}else{
json = eval("("+str+")");
}
}catch(e){
alert("系统发生错误:"+e.getMessage);
json = {};
}
return json;
}