2011-12-22 15 views
0

PHPのSQLデータベースから情報を取得するAJAXリクエストがあります。AJAXからPHPへのリクエスト後、PHPからAJAXに変数を返すことは可能ですか?

問題は、変数をAJAXに返す必要があることです。それをスクリーンにすべて表示しないでください。

これは可能ですか?もしそうなら、このようなことをどうやってやりますか?

ありがとうございました。そして、あなたは( "& & &")text.splitで2つの変数にそれを細分化することができます

echo "code you need to send back to AJAX &&& response text" 

+0

具体的な例を挙げてください。これはなぜ必要なのですか? – matino

+0

jQueryを使用していますか? –

+0

なぜそれをjsonとして返送しないのですか? – Necrolis

答えて

0

はい、json_encodeクライアントに返信する変数を指定できます。

echo json_encode(array('variable' => 'your value')); 

クライアントは、要求が完了するとコールバックを介してデータを受信します。私が提供することができるすべての詳細を明確にすることなく、いくつかの詳細については、jQueryなどのJavaScriptライブラリを使用しているのか、生のXHR要求を行っているのかに応じてコードサンプルを提供できます。

編集:jqueryで上記の変数を取得するには、次のようにします。私は右のあなたを理解していれば

$.getJSON('yourfile.php', function(data){ 
     console.log(data.variable); 
}); 
+0

ねえ、答えに感謝します。あなたはあなたが "function(data)"と書かれているところを知っています。それは自分自身を書くべき関数ですか?もしそうなら、その中にあるもの。これまでのところ、私はコードを試しましたが、何もしません。それはJQueryビットを超えたコードの実行も停止します。 –

0

あなたはいつものようなものを返すことができます。

+0

世界では?それはそれをする恐ろしい方法です! –

+0

これは悪い、悪い、悪い考えです。 – Dutchie432

0

は、あなたがPHPの配列を作成し、あなたの応答として配列をダンプするためにjson_encodeを使用したいと思います。その後、JSでは、リスルするJSONテキストを使用してオブジェクトを作成できます。

ajaxpage.php

$resultArray = buildArrayOfItems('Select * from products order by price'); 
//I usually have my sql records returned directly as an array. 
//that's all buildArrayOfItems does 

die(json_encode($resultArray)); 

PHPはこの

結果

{[ 
    { 
     "id" : "2643", 
     "name" : "Leather Jacket", 
     "price" : "249.99" 
    }, 
    { 
     "id" : "2645", 
     "name" : "Suede Jacket", 
     "price" : "289.99" 
    }, 
    ... 
]} 

のようなものが得られるはずです、あなたが使用している場合、あなたのJSは、(次のようになります。 jQuery)

JS

$.getJSON('ajaxPage.php', {'someVariable':'someValue'}, function(obj){ 
    console.log(obj.count); //will show number of resulting items 
    console.log(obj[0].id); //will show id of first item (2643) 
}); 
//If you do not use jQuery, you'll need to use eval() or something evil like that 
//to convert the string to an object 
0

このサイトではあなたが達成しようとしているものについては偉大な例があります。 http://ditio.net/2008/07/17/php-json-and-javascript-usage/

要するに、phpのjson_encode()を使用して配列をjson互換の文字列に変換し、それぞれをクライアントに戻すことができます。

jQueryを使用している場合は、$ .ajax()のdataTypeプロパティを "json"にする必要があります。そこから、jsonオブジェクトとして応答と直接対話できます。

標準のXmlHttpを使用している場合は、

var json = JSON.parse(xmlHttp.responseText); 
関連する問題