2012-01-11 10 views
1

私は多次元PHP配列をJavascript/jQueryに渡す必要があるいくつかの状況があります。 PHP関数json_encode()はこれをややうまくやっているようです。私は$.parseJSONを使用しているいくつかの例を見てきましたが、これがIE6との互換性やその他の問題のためのものかどうかはわかりません。これがJavaScriptで使用する正しい形式であれば、誰でも手がけてください。これがPHPビューの一部としてjavascript/jQueryであると仮定します。json_encodedデータをPHPからjQuery/Javascriptに渡すためのIE6/7の安全な方法は何ですか?

var sections = <?php echo json_encode($sections); ?>; 

または、おそらくこれは良いでしょうか?

var sections = <?php if (!empty($sections)) { echo json_encode($sections); } else { echo "new Array()"; } ?>; 

または、$ .parseJSONが必要ですか?それはエラーを投げるようです。

var sections = $.parseJSON(<?php echo json_encode($sections); ?>); 

誰もが私が知っておくべきすべてのIE6の問題を知っていますか? parseJSON()を使用する必要がある場合は、一重引用符または二重引用符で使用しますか?事前に

おかげで、 ジェフ・ウォルターズ

+1

parseJSON型では、文字列リテラルにラップする必要があります。 – TimWolla

+0

セクションが空白の場合は、PHPが通常生成するものである '[]'または '{}'のいずれかでOTOH(MSIE6を持たないという恵まれた状況)で十分です。 – Wrikken

+1

最初のコードにはjsonはそのようにしてjavascriptオブジェクトに直接変換できるので十分です。 IE6/7には問題はないはずです。 –

答えて

3

は、私はIEについては何も知らないが、限り、あなたはJavaScriptでJSON 文字列を扱っていないとして、あなたはどのparseJSON機能を必要としません。スクリプトのテキストにそれらを入れても問題ありません。

関連する問題