2010-11-20 1 views
0

動的値をjsコードに渡す場合は、このようにする方が良いですか?動的パラメタをjsコードに渡す方が良いでしょうか?

var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>'; 

セッション変数を取得してmyVarに割り当てるには、実行時にAJAX呼び出しを行いますか?

賛否両論は何ですか?

私は個人的にAJAXメソッドを使用します。複雑な配列割り当てなどの場合にコードが見栄えが良くなります。

専門家の意見を得たいでしょうか。

アップデート

私はAJAXの方法を使用して、すべてのHTTP要求がカウントことを理解しています。しかし、javascriptファイル内に関数を定義しておくと、関数のパラメータを用意するだけで済みます。また、それらを呼び出すときはいつでも、関数呼び出しでパラメータを渡すことができます。 -

これは私が通常やっていることですが、私のプロジェクトではjavascriptファイルにインラインで渡す必要はほとんどありません。そして、AJAXにはサーバー側の処理(もちろん必要な時)が必要です。

ここで私が持っている基本的なアイデアは、インラインjsスクリプトとは別のjsファイルを持つことです。私はthis questionを見ていた。私は間違いなくこのような状況が発生しないため、それぞれの変数を(私の質問のように見えるかもしれない)取り出すためのAJAX呼び出しをしません。

ありがとうございました。

答えて

1

AJAXコールは別のリクエストであり、結果はすぐには利用できません。動的データのインライン書き込みはすぐに利用できます。この場合、私はインラインアプローチを選択する傾向があります。

PHPのjson_encode()は、コードを乱雑にすることなく、巨大な配列であっても書き出すのが比較的簡単なことがあります。

+0

私は実際には、JavaScriptの各サーバー側変数をフェッチするためのAJAXリクエストを実行するつもりはありませんでした。私の更新を確認してください。 –

+0

@sandeepan私は、別々のJSスクリプトを持っているというあなたの要点を見ています。それは理にかなっています - それは最もクリーンな方法です。私は個人的にはおそらくまだ動的ビットを文書の ''に入れる傾向がありますが、両方のアプローチがすべて正しいと言えば –

+0

文書の頭のjsコードの動的ビットを意味していますか?しかし、あなたの場合はやむを得ないことですか?あなたは一番きれいな方法に従っていないと認めますか? :) –

1

まず、実際にはJavascriptコードを動的に生成していないことに注意してください。 PHPを使用して、引数の値をブラウザに渡しています。

コード内にPHPの唯一の(または主な)機能がある場合は、AJAXを使用し、PHPを使用してページ自体を生成しないようにします(例:.phpではなく.htmlファイルを使用します)。理由:ほとんどのコンテンツが静的に格納されるため、より高速に動作します。

PHPを使用してほとんどのページを生成する場合、Pekkaが言及したように、別のリクエストを追加する必要はありません。ちょうどそれをインラインでください。

+0

@リトルボビーテーブルあなたは正しいです...タイトルを編集しました。私の質問の更新を確認してください。ありがとうございました –

+0

@リトル・ボビー・テーブル私はAJAXがダイナミック・パラメータを割り当てることを望んでいると言っても間違いでした。そして、すべてのAJAXコールが追加のリクエストを引き起こすため、AJAXコールを持つことは賢明ではないと思います。動的パラメータを渡すことが主な要件である場合、私の質問の更新で書いたようにそれを行う方が良いでしょう。サーバー側のタスクがない限り、この場合はAJAX要求は必要ありません。 –

+0

@Sandeepan:セッション管理以外にPHPを使用していますか? –

関連する問題