如果您json_encode返回已经为JSON的api数据会发生什么

时间:2019-06-29 06:35:00

标签: javascript php arrays json

我有一段时间没有使用JSON / PHP / AJAX了,我很难访问返回的数据。

我有一个AJAX函数,该函数调用PHP脚本,该脚本执行API调用,该API返回$data中的JSON。该JSON通过$newJSON = json_decode($data);解码,然后循环通过以创建存储在$cleanHTML中的格式化HTML。然后,我将变量$cleanHTML和原始$data变量放入新数组$processedReturnArray = array($cleanHTML, $data);中,并将其编码为echo json_encode($processedReturnArray);以传递回AJAX脚本。

我的问题:我假设对包含JSON字符串的数组进行JSON编码不是正确的方法。最好的解决方案是什么?

这是我的JS,您将看到我在console.log和第一个元素$cleanHTML的位置,但是当我尝试从第二个对象记录值时,出现以下错误:{{ 1}}

Uncaught TypeError: Cannot read property 'results' of undefined

PHP脚本由多个类组成,如果可以帮助解决问题,我可以发表文章。我还可以发布返回的JSON的样本。

1 个答案:

答案 0 :(得分:1)

尝试一下,在处理请求的php代码中将标头设置为application / json。喜欢

header('Content-Type:application/json');
return json_encode($processedReturnArray);