0

これを行わずにそれを行う方法はありますか: javaScript変数をphp変数に送信します

または、ページを更新せずに(まだphp変数を保持して)、元のURLに「隠蔽」することはできますか?

4

5 に答える 5

0

私はあなたが間違っていると信じています-あなたは実際にPHPに「javascript」変数を取得します-@MikeDによる以下のjQueryコードスニペットを使用します(jQueryは、コードで使用できる多くの関数を含むjavascriptライブラリです-物事を小さくします簡単に実行できます) 上記で、javascript 変数を PHP ページに渡すことができます。

PHPページで、次のような単純なものを使用して、この変数(クライアント側-ブラウザで発生)をPHP変数に割り当てることができます:

$variable = $_REQUEST['javascriptVariable'];

于 2013-08-13T19:01:52.397 に答える
0

PHP を使用して JavaScript 変数を作成できるポイントは 2 つあります。1 つ目は、サーバー上で「ページ」が作成されるとき、2 つ目は JavaScript アプリケーションの操作中 (ページが読み込まれた後) です。2 番目のポイントでは、何らかのクライアント側の要求 (ajax、websocket など) が必要になります。

(私の経験では)これを行う最善の方法は、PHP の json 拡張機能を使用することです。これにより、PHP オブジェクト/配列を、ブラウザ内でシリアル化を解除/デコードして同等の JavaScript タイプに変換できる json シリアル化文字列にエンコードできます。

ページ生成中にこれを行うには、次のように同様に行うことができます。

echo "jsvar = eval('('+".json_encode($phpvar)."+')')";

評価はブラウザ内のクライアント側で発生し、すべての主要な js ライブラリで一般的であることに注意してください。

JavaScript アプリの通常の操作中にオブジェクトを要求する方法は、データがどのように要求されるかによって異なりますが、それぞれの方法には、非同期の JavaScript 要求、要求を処理するための PHP スクリプト (サーバー側)、および JavaScript 側が含まれます。リクエストに対するレスポンスとして JavaScript 内でデータを受信したときに呼び出されるハンドラ/コールバック。

私は通常、PHP を使用して json_encode() された文字列をプレーン テキストとしてエコーし、次に JavaScript サイド レスポンス コールバックをコーディングして、レスポンスをデコードし、イベントを発生させます。基本的な例:

PHP側:

<?php echo json_encode($responce_object); // DONE ?>

JavaScript側:

on_responce(responce) 
{    
    var res_obj = eval('('+responce+')');
    fire_event(res_obj);
}

上記の例は、それがどのように機能するかを示すための非常に単純で一般的なものですが、完全に機能するソリューションにはそれ以上のことは必要ありません。特定のソリューションの真の魔法は、「fire_event()」メソッド内で発生します。これは、jquery などを介してオブジェクトを処理できる場所です。

于 2013-08-13T20:16:55.450 に答える