header('Content-Type:application/json; charset=utf-8');
$json_data = trim(json_encode($arr_data,true));
echo $json_data;die;浏览器打印出的JSON 如下 $b='{"goods":[{"pict_url":"https:\/\/img.alicdn.com\/bao\/uploaded\/i3\/479184430\/TB2GOe2Xf2H8KJjy0FcXXaDlFXa_!!479184430.jpg","title":"MG\u5c0f\u8c61\u9488\u7ec7\u886b\u79cb2018\u5973\u88c5\u65b0\u6b3e\u4fee\u8eab\u6253\u5e95\u886b\u9ed1\u8272\u5957\u5934\u4e0a\u8863\u5973\u58eb\u5185\u642d\u6bdb\u8863","volume":"2568"},{"pict_url":"https:\/\/img.alicdn.com\/bao\/uploaded\/i1\/113964991\/TB2XDsTwwFkpuFjSspnXXb4qFXa_!!113964991.jpg","title":"\u751f\u513f\u6bdb\u5dfe\u5a74\u513f\u63d0\u82b1\u6d17\u8138\u5dfe 3-5\u6761\u88c5","volume":"23"}],"page":2}';
使用 echo $json_data;die;  输出 JS 获取不到,出错使用 echo $b; 就可以正常执行,为什么呢
for(var i=0,l=res.goods.length;i<l;i++){
 li = '<li><a href="nei.html"><img src="'+res.goods[i]['pict_url']+'" /><h3>"'+res.goods[i]['title']+'"</h3>';
 li = li + '</li>';}

解决方案 »

  1.   

    http://php.net/manual/zh/function.json-encode.php
    $json_data = json_encode($arr_data);这就行了 别加true
      

  2.   

    如果 浏览器打印出的“JSON”是这样的:
     $b='{"goods":........那么显然不是 json,而只是一条语句(php和或者js的)
      

  3.   

    浏览器打印出来的就是 '{"goods":[{"pict_url":"https:\/\/img.alicdn.com\/bao\/uploaded\/i3\/479184430\/TB2GOe2Xf2H8KJjy0FcXXaDlFXa_!!479184430.jpg","title":"MG\u5c0f\u8c61\u9488\u7ec7\u886b\u79cb2018\u5973\u88c5\u65b0\u6b3e\u4fee\u8eab\u6253\u5e95\u886b\u9ed1\u8272\u5957\u5934\u4e0a\u8863\u5973\u58eb\u5185\u642d\u6bdb\u8863","volume":"2568"},{"pict_url":"https:\/\/img.alicdn.com\/bao\/uploaded\/i1\/113964991\/TB2XDsTwwFkpuFjSspnXXb4qFXa_!!113964991.jpg","title":"\u751f\u513f\u6bdb\u5dfe\u5a74\u513f\u63d0\u82b1\u6d17\u8138\u5dfe 3-5\u6761\u88c5","volume":"23"}],"page":2}';
      

  4.   

    浏览器打印出来的就是  
    {"goods":[{"pict_url":"https:\/\/img.alicdn.com\/bao\/uploaded\/i3\/479184430\/TB2GOe2Xf2H8KJjy0FcXXaDlFXa_!!479184430.jpg","title":"MG\u5c0f\u8c61\u9488\u7ec7\u886b\u79cb2018\u5973\u88c5\u65b0\u6b3e\u4fee\u8eab\u6253\u5e95\u886b\u9ed1\u8272\u5957\u5934\u4e0a\u8863\u5973\u58eb\u5185\u642d\u6bdb\u8863","volume":"2568"},{"pict_url":"https:\/\/img.alicdn.com\/bao\/uploaded\/i1\/113964991\/TB2XDsTwwFkpuFjSspnXXb4qFXa_!!113964991.jpg","title":"\u751f\u513f\u6bdb\u5dfe\u5a74\u513f\u63d0\u82b1\u6d17\u8138\u5dfe 3-5\u6761\u88c5","volume":"23"}],"page":2}没有啥单引号的,我把这个拷贝赋值个变量,$b=' 上边这个JSON数据',然后 echo $b ;  JS 端就可以正确解析,$json_data = json_encode($arr_data);  echo $json_data; 就解析不了,所以不知道咋个意思呢 
      

  5.   

    使用 echo $json_data;die;  输出 JS 获取不到,出错使用 echo $b; 就可以正常执行,为什么呢你能把错误信息发出来看看吗?
      

  6.   

    那么 $arr_data 的内容是什么呢?真是奇了怪了,你遇到了问题,却又不愿描述清楚,还发急
    我又没怪你,你急个啥劲
      

  7.   

    我知道 楼主的意思了
    你在前端输出的时候  
    var  jsArr='<?php echo $json_data;?>'; 
    console.log(jsArr);
     你再看看