2009-06-17 21 views
4

$ .postを使用すると、サーバーに情報を送信できますが、サーバーから情報を受け取る必要があるときはどうなりますか?AJAXで前後に情報を送信

どのように情報がphp変数によって保持される方法から、javascript変数によって保持される方法に変化するのか(その逆も同様)

答えて

6

これは、あなたの質問に、より関連性がある:http://docs.jquery.com/Ajax/jQuery.post

アラートうちtest.phpを(HTMLやXML、返されたものに応じて)を要求してからの結果。データの追加のペイロード(HTMLやXML、返されたものに応じて)とtest.phpを要求してからの結果出

$.post("test.php", function(data){ 
    alert("Data Loaded: " + data); 
}); 

アラートを。

$.post("test.php", { name: "John", time: "2pm" }, 
    function(data){ 
    alert("Data Loaded: " + data); 
    }); 

test.phpページの内容を取得し、XMLHttpResponseオブジェクトに格納し、process()JavaScript関数を適用します。

$.post("test.php", { name: "John", time: "2pm" }, 
    function(data){ 
    process(data); 
    }, "xml"); 

JSON形式( "ジョン"、 "時間" => "午後"))に戻されたtest.phpをページの内容を取得します。 ?>)

$.post("test.php", { func: "getNameAndTime" }, 
    function(data){ 
    alert(data.name); // John 
    console.log(data.time); // 2pm 
    }, "json"); 
4

json_encode()json_decode()を確認してください。これらは現在PHPの一部であり、PHP配列と連想配列(またはstdClassオブジェクト)とjavascript配列またはオブジェクト(JSONリテラルとして)の間で切り替えることができます。

xmlまたはhtmlを返す代わりに、echo json_encode($all_my_php_data);を実行して、javascriptオブジェクトを取得することができます。

$ .post()の型パラメータとして 'json'を渡すと成功したコールバックには、PHPスクリプトにエコーしたJSONオブジェクトが含まれます。

$.post() documentation

0

次に、サーバーから返されたコンテンツを受信する必要があります。 'data'パラメータで$ .postのコールバック関数を定義するだけです。例:

$.post('/index.php', { key: 'value' }, function(data) { alert(data); }); 

jQueryが自動的に処理できるように、戻り値の型を指定できます。あなたはPHPスクリプトからJSON値を返すなら、あなたは最後に追加のパラメータを追加する必要があります

$.post('/index.php', { key: 'value' }, function(data) { 
    alert(data.someItem); 
    }, 'json'); 

しかし、あなたが最初に何を投稿したり得ることなくPHPサーバーからデータを取得する必要がある場合、あなたは彗星を実装する必要があります。しかしそれはもう少し仕事です:)

+0

すべての主要な彗星の実装では、GETやPOSTを使用します。 –

0

httpでは、クライアント(Webブラウザのjavascript)からサーバーにリクエストを実行し、サーバーに返された情報を処理します。両方の通信でどのように情報が表現されるかの選択は、あなた次第です。

AJAX(おそらくjQuery経由)を使用すると、通常はJSONリテラル(json_encode()を使用してレスポンスをエンコードできます)という情報をブラウザに返すことを担当するPHPハンドラにリクエストできます。 、ブライアンによって示唆されるように)。最終的には、クライアント上で(たとえばjQueryを使用して)解析して、javascriptオブジェクトを取得します。

($ .post(url、[data]、[callback]、[type])関数はレスポンスを自動的に解析し、コールバック関数(callback(data、textStatus))に返します。データは解析対象とtextStatusレポートの成功または失敗のステータス(jQuery.post)ことである。

関連する問題