【发布时间】:2016-07-08 23:02:33
【问题描述】:
使用 JavaScript 解析 JSON 对象数组时遇到问题。我的 PHP 文件获取数据库信息,例如:
Array
(
[0] => Array
(
[id] => 1
[name] => holly
[text] => Text 1
)
[1] => Array
(
[id] => 2
[name] => Becky
[text] => Text 2
)
)
然后我通过 json_encode( 运行它来得到这个:
"[\r\n {\r\n \"id\":\"1\",\r\n \"name\":\"holly\",\r\n
\"text\":\"Text 1\"\r\n },\r\n {\r\n \"id\":\"2\",\r\n
\"name\":\"Becky\",\r\n \"tet\":\"Text 2\"\r\n }\r\n]"
此数据通过 JavaScript 函数从此处调用:http://oscargodson.com/posts/unmasking-jsonp.html
JSONP( url, function(json){console.log(json)});
回调不会返回任何我可以解析的内容,如果我执行 console.log(json),我只会得到 [Object Object]。我从 PHP 获得结果是因为 Chrome 的 Web 开发人员中的 Sources 选项卡显示了 php 文件和 jsonified 文本。我只是不知道如何将其发送到 JavaScript 进行解析。
我已经阅读了大量的“重复”问题,很多人说使用 JSON.stringify() 但我没有得到任何结果。
是我的 PHP 出错还是我没有正确使用 JavaScript?请帮忙。
【问题讨论】:
-
你源数据是json,为什么你把json编码成json?如果你设置
Content-type:application/json如果我没记错的话,在ajax 函数jQuery json 中设置类型。你可以在回调函数第一个参数中获取data.your_data -
抱歉,使用正确的 PHP print_r() 编辑了帖子
-
另外,没有 jQuery。仅使用 JavaScript
-
使用 JSON.parseJSON(result);
-
听起来数据没有被传递,而是返回了一个空对象。您确定您传递的 URL 正确/有效吗?
标签: javascript php jsonp