如何在js转换返回的php array数据

阿童木
  • 14

服务器上有A.php文件,做curl访问其他地址的B.php调取数据。B.php里面用print_r($array)返回数组,A.php通过curl读取B.php的数组,本地的C.js文件访问该服务器上A.php的返回结果如下:

图片描述

data是返回的数组结果,但是是string类型。但是在js里需要用作array处理数据。

请问A, B, C文件里哪里需要改进或者修改,能实现C.js里能正确读取得到数组。

以下是网页读取A.php的部分数据结果截图:

clipboard.png

谢谢各位。

回复
阅读 2.3k
3 个回答
✓ 已被采纳

这个print_r只是按照PHP的格式输出,你要找一种通用的数据格式来传数据,比如这里用的多的可以用json, xml也行,PHP传json 的话 ,把 print_r($array) 改成 echo json_encode($array);

这样js获取到的json格式数据就能转了

一般php把结果,使用 echo json_encode($data);返回 json格式的字符串。

js使用现代浏览器的话,直接使用 var json=JSON.parse($jsonstr);即可。

另外,js 中不推荐使用 eval();
如果浏览器需要兼容旧的版本,可以去网上搜一下 js 处理 json 的库。

php和js数据传输一般是将array转成json格式字符串输出,js使用ajax得到jsondata之后
var arr = eval('('+jsondata+')');//得到数组arr[1] arr['name']这样调用

宣传栏