2009-12-23 89 views
0

我有一個PHP文件,輸出通過

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

JSON編碼的文本,我有那個取入該頁面

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

javascript文件當任何其他瀏覽器比firefox 3.5訪問頁面調用.getJSON它警報null

但是,如果我把php文件輸出的文本粘貼到一個新文件中,並通過.getJSON加載它,它工作正常。只有當它的輸出通過PHP,它不起作用。

我能看到的唯一區別是PHP文件的內容長度比另一個多2,我找不出原因。

感謝


UPDATE
我創建了一個小型陣列與其它數據來測試它和它的工作。我的數據中有些東西會導致問題。現在看...

調用array_merge是罪魁禍首。

回答

0

我已經縮小到一個調用array_merge,以某種方式破壞數據。謝謝

2

data不是一個字符串,它是一個JSON對象。因此,eval將無法工作。嘗試以下代替:

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

仍然返回null在所有瀏覽器除firefox 3.5 – Galen 2009-12-23 17:33:21

+0

嘗試從php中刪除括號。讓他們在那裏沒有任何意義。 – Marius 2009-12-23 17:42:50