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

时间:2009-12-23 17:21:58

标签: 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

BUT !!!如果我把php文件输出的文本粘贴到一个新文件中并通过.getJSON加载它就可以了。只有当它的输出由php无效时才会生效。

我能看到的唯一区别是PHP文件的内容长度比另一个多2,我无法弄清楚原因。

由于

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

对array_merge的调用是罪魁祸首。

2 个答案:

答案 0 :(得分:2)

data不是字符串,而是JSON对象。因此,eval不适用于它。请尝试以下方法:

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

答案 1 :(得分:0)

我已经把它缩小到对array_merge的调用,这会以某种方式破坏数据。感谢