php - $.getJSON 在某些浏览器中的问题

标签 php javascript jquery json getjson

我有一个 php 文件,通过它输出 json 编码文本

echo '(' . json_encode( $final ) . ')';

我有一个 javascript 文件来获取该页面

$.getJSON(file, function(data){
var object = eval(data);
alert(object); //for testing
...

当 Firefox 3.5 以外的任何浏览器访问调用 .getJSON 的页面时,它会发出警报 null

但是!!!如果我将 php 文件输出的文本粘贴到一个新文件中并通过 .getJSON 加载它,它就可以正常工作。只有当它通过 php 输出时,它才不起作用。

我能看到的唯一区别是 PHP 文件的内容长度比另一个多 2,我不明白为什么。

谢谢

<小时/> 更新 <小时/> 我创建了一个小数组来用其他数据测试它并且它正在工作。我的数据中有一些东西导致了这个问题。现在看...

对 array_merge 的调用是罪魁祸首。

最佳答案

data 不是一个字符串,它是一个 JSON 对象。因此 eval 不会对其起作用。请尝试以下操作:

$.getJSON(file, function(data){
alert(data); //for testing

关于php - $.getJSON 在某些浏览器中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1954147/

相关文章:

javascript - npm:如何使用正确的依赖项创建调试和生产版本?

php - 将 android AsyncHttpClient 中的数组 POST 到 php

php - Wordpress 短代码仅适用于帖子,不适用于页面。自定义主题

php - 下载文件的 MIME 类型

jquery - Mobile Safari 滚动势头不起作用

javascript - 在 materializecss“日期选择器中设置最小日期

javascript - 检测文本是否溢出

php - Mysqli_query 结果到变量 PHP

javascript - Ajax 在页面加载时触发

javascript - 我无法使用 Javascript 中的 getElementsByClassName 方法访问 <div> 标记