服务器上有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的部分数据结果截图:
谢谢各位。
服务器上有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的部分数据结果截图:
谢谢各位。
一般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']这样调用
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
这个print_r只是按照PHP的格式输出,你要找一种通用的数据格式来传数据,比如这里用的多的可以用json, xml也行,PHP传json 的话 ,把 print_r($array) 改成 echo json_encode($array);
这样js获取到的json格式数据就能转了