PHPでオブジェクトを作成し、json_encode()を実行した後にjQueryによって使用されるオブジェクトを作成するPHPスクリプトがあります。私は、json_encodeを実行した後、jQueryスクリプトで動作するPHPオブジェクトにjQuery傾斜関数を含めるようにしていますが、正しく取得できません。例えばPHPオブジェクト内のインラインjQuery関数をjson_encodeを使用してjQueryに指定
、PHP:
function get_columns_object() {
foreach(...) {
$columns[ $table ][] = array(
'data' => $name === 'cb' ? null : $name,
'title' => $header[ 'title' ],
'callback' => <<== HOW TO SPECIFY INLINE FN HERE?
);
}
}
次に、ページのHTMLを出力するPHPスクリプトに私は、次のとおりです。
<script async>
var columns = <?php echo json_encode(get_columns_object()); ?>;
</script>
これは、変数のために正常に動作しますが、どのように私は含めることができますjQueryコールバック関数とこのアプローチを使用するインラインjQuery関数または私はできますか? :に際して
PHP
function get_columns_object() {
foreach(...) {
$columns[ $table ][] = array(
'data' => $name === 'cb' ? null : $name,
'title' => $header[ 'title' ],
'callback' => "function() { alert('Callback Event'); }"
);
}
}
はJavaScript
var columns = JSON.parse(<?php echo json_encode(get_columns_object()); ?>);
:S
参照:http://stackoverflow.com/questions/1745248/php-json-encode-and-javascript-functions "JSONでは不可能"と表示され、http://web.archive.org/webにリンクします。 /20080828165256/http://solutoire.com/2008/06/12/sending-javascript-functions-over-json/ – Twisty
'json_encode()'は 'function'を理解できませんので、関数コードを保存して書き直してくださいそれはあなたがJavaScriptを作成するとき。 – Twisty
@twistyしたがって、インライン関数 'string'がエンコードされないようにするという全体的な修正はありますか?多分私は過度に単純化しています。その2番目の記事は優れています。ありがとうございました。 – rwkiii