2012-02-03 51 views
0

我有一個令人困惑的問題與JavaScript中的數據操作。jQuery.parseJSON返回空數據結構

我在JavaScript中使用以下代碼從PHP/MySQL源檢索數據。

var _response = jQuery.ajax({ 
    url: "../data", 
    async: false, 
    type: "post", 
    data: oParams 
}).responseText; 

,並已證實_response的內容

_response = '{"genus":["Some Data"],"series":[],"program":["Some Data1","Some Data2","Some Data3"]}'; 

但是執行以下操作時:

var _return = jQuery.parseJSON(_response); 
console.log(_return); 

我結束了:

genus: [""] 
program: ["", "", ""] 
series: [] 

根據螢火蟲。我甚至將字符串直接放到jQuery.parseJSON()中,並記錄結果,最後仍然是空的數據結構。

有沒有人知道這裏發生了什麼,或者會導致這種情況?

+0

奇怪,檢查,它被正確地分析了我:(你能仔細檢查你使用的是最新的jQuery也許你有一個有錯誤的版本 – 2012-02-03 02:54:37

+0

沒有?問題,http://jsfiddle.net/wX4D5/,也許這不是你的螢火蟲的問題 – xdazz 2012-02-03 02:56:24

+0

我已經嘗試了jQuery 1.6.4和1.7.1,並在Firefox和Chrome中得到了相同的結果。期待任何人迴應,但我發佈了完整的代碼集,以防萬一有人在想我失蹤的東西:http://jsfiddle.net/Gw6FM/ – 2012-02-03 03:17:00

回答

0

您的jQuery文件或瀏覽器肯定有問題。它工作正常,我在的jQuery 1.7.1:

> var x = $.parseJSON('{"genus":["Some Data"],"series":[],"program":["Some Data1","Some Data2","Some Data3"]}'); 
undefined 
> x["genus"] 
["Some Data"] 
+0

我想給你信用,因爲你是間接正確的。在我的代碼中,一個獨立的if()比較有一個=而不是==,它正在蒸發所有的數據。 – 2012-02-04 20:52:11