私は多次元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()
を使用する必要がある場合は、一重引用符または二重引用符で使用しますか?事前に
おかげで、 ジェフ・ウォルターズ
parseJSON型では、文字列リテラルにラップする必要があります。 – TimWolla
セクションが空白の場合は、PHPが通常生成するものである '[]'または '{}'のいずれかでOTOH(MSIE6を持たないという恵まれた状況)で十分です。 – Wrikken
最初のコードにはjsonはそのようにしてjavascriptオブジェクトに直接変換できるので十分です。 IE6/7には問題はないはずです。 –