2012-02-03 24 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"]}'; 

がしかししていることを確認しました:に従って

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

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

私はで終わります火かぶり。ストリングを直接jQuery.parseJSON()に入れて結果をログに記録しても、空のデータ構造で終わることさえありました。

ここで何が起こっているのか、何が原因なのか、誰か知っていますか?

+0

奇妙な、それをチェックし、それは私のため正しく解析されます:(あなたは多分あなたはバグのあるバージョンを使用している最新のjQueryを使用している二重にチェックすることができ –

+0

ません?問題は、http://jsfiddle.net/wX4D5/、おそらくあなたの火かき棒の問題です。 – xdazz

+0

jQuery 1.6.4と1.7.1の両方を試してみましたが、FirefoxとChromeで同じ結果が得られました。誰かが応答することを期待していますが、私が行方不明になっていることがある場合に備えて、完全なコードセットを投稿しました:http://jsfiddle.net/Gw6FM/ –

答えて

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()比較で==の代わりに単一の=があり、すべてのデータが蒸発していました。 –