通常是因为返回的ajax格式不正确,需要规范的json数据
例如
$returnData = [‘code’=>3, ‘info’=>‘收藏成功’];
// 返回json数据给前台
$returnData = json_encode($returnData ,JSON_UNESCAPED_UNICODE);
echo $returnData;
exit;
或者尝试这样写
// header('Content-Type:application/json; charset=utf-8'); // 添加这句话
$data3 = json_encode($returnData,JSON_UNESCAPED_UNICODE); //这样也正确
return $data3;
var res = JSON.parse(data); // json 字符串转化为对象,否则不能判断状态码
从ajax的服务器发过的,一定是字符串,你想要把它解析,很简单,把它先变成JSON对象才行。
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };