-1

javascriptブロックで使用するためにphpで作成された配列にアクセスするのに問題があります。私は知っています

<?php echo json_encode($myArray); ?>

しかし、私はそれから何の結果も得ていません。

javascriptを介して配列にアクセスしようとする「index.html」ファイルがあります。htmlページはドロップダウンメニューの外にあります。ユーザーがそのドロップダウンメニューで項目を選択すると、選択された項目がデータベースからデータを取得するための引数として使用されます。

'ajax.js'ファイルには、データベースコンテンツから配列(' $ myArray')を構築する'retrieve.php'ファイルを実行するためのコードが含まれています。したがって、配列はajax呼び出しを介して取得されます。

phpファイルからjavascriptコードに「エコー」できますか?

echo 'dataArray = ' . json_encode($data_array) . ';';

そのjavascript変数を使用しますか?つまり、新しい'dataArray'変数を使用してJavaScriptコードを実行するにはどうすればよいですか?

全体像を把握するには:「GoogleChart」で使用するためにその配列を使用しようとしています。この場合、JavaScriptを使用してグラフを表示する必要があります。すべてのデータをクエリしてphp配列に入れることはできますが、JavaScriptを使用してHTMLページに正しく転送し、グラフを再読み込みすることに成功していません。

編集:ページ全体をリロードするには、noへのajax呼び出しを使用します。

4

3 に答える 3

2

の代わりに" echo 'dataArray = ' . json_encode($data_array) . ';'; "、これを書く必要があります- "echo json_encode($data_array)"
そしてJSON.parse(response)、サーバー(json)から受け取った応答を使用してクライアントで解釈します

于 2012-04-16T13:54:23.340 に答える
1

これを行うための最良の方法は次のようなものであることがわかりました。

クライアントコード:

<script>
    var phpdata = <?=json_encode($jsData)?>;
</script>

サーバーコード:

$jsData = '';
$jsData->first = $first;
$jsData->second = $second_array;

クライアント側の使用法:

alert(phpdata.second[1]);

編集:

AJAXを使用してphpから配列を取得するには、jQueryhttp ://api.jquery.com/jQuery.getJSON/を使用します。

クライアント側:

var stored_array;
$.getJSON(url, function(data){
    stored_array = data;
    // run any other code you wish to run after getting the array.
});

サーバ側:

print(json_encode($array));

これにより、jsonでエンコードされた変数が取得され、使用できるように保存されます。

于 2012-04-16T13:42:06.853 に答える
0

はい、上記のjson_encode関数を割り当てることで、このphpの配列を使用できます

配列が連想配列またはphpで使用されるオブジェクトである場合は連想配列として使用でき、非連想配列である場合は通常の配列として使用できます。

于 2012-04-16T13:42:04.980 に答える