ajax を介して他のファイルから取得され、js 内の多くの変数に割り当てられる変数値の大きなリストがある場合、何か良い方法はありますか?
PHPファイルの戻り値をjsの2つの変数に渡します。
取得した js ファイル内の 2 つの変数は次のとおりです。
bo_count=3
そして
hd_count=3
PHPコード<?PHP
// json 文字列を生成します。これには、PHP に付属の json_encode 関数を検討するか、オープンソースの PHP json クラスを検索します。
$return = "";
?>
<script type='text/javascript'>
var content = eval("(<?PHP echo $return;?>)");//ここでの $return は、ajax が送信された後にサーバーから返される文字列と同等です
for(コンテンツ内の変数 i){
ウィンドウ[i] = コンテンツ[i];
}
アラート(bo_count);//123
アラート(hd_count);//456
</script>
ウィンドウ['abc'] = 1;
これは、グローバル変数 abc を 1 に設定するのと同じです。これは重要ではありません。重要なのは、json 文字列を評価した後、js がオブジェクトのプロパティにアクセスする方法に従って値を読み取り、必要な値を取得できることです。 。
JScript コード<script type='text/javascript'>
var コンテンツ = {
ボー数: 123
hd_count: 345
}
アラート(コンテンツ['bo_count']);
</script>
json 文字列の効率は非常に高く、xml 形式を使用した以前の対話型メソッドは解析がはるかに面倒でした。
file.PHP は書き込む必要があります
echo 'bo_count='.$bocount=count($bo_array[0]);
エコー「n」;
echo 'bd_count='.$bocount=count($bo_array[0]);
このようにすると、jsの中身の値は「bo_count=3nbd_count=3」となります。
こんなこともありますよ
ファイル.PHP での書き込み
echo 'bo_count='.$bocount=count($bo_array[0]);
エコー「;」;
echo 'bd_count='.$bocount=count($bo_array[0]);
このように、jsの中身の値は「bo_count=3;bd_count=3」となります。
つまり、正当な js ステートメントは ajax を介して渡す必要があります。
あとはjsで書きます
成功:関数(内容) {
eval(内容);
}
json 変数を使用します。この方法は私も何度も試してきました。
JScript コード
関数(データ){
var myjson='';
eval('myjson=' + データ + ';');
}