1

皆さんにajaxの質問があります。
phpでajax呼び出しから配列を返し、jquery ajax呼び出しで使用するために返すその配列から値を取得したいのですが、これを行う方法がわかりません。誰かが私をチュートリアルの正しい方向に向けることができますか?

ajax応答にはさまざまなエンコーディングタイプがあることは知っていますが(jsonとxmlが思い浮かびます)、実際に何が使用されているのかわかりません。今のところ、私がしているのは、ページに表示されるものを取得するための応答として持っているものをエコーすることだけですが、現在の実装を変更して、単なるテキストではなく配列を応答として使用したいと思います。これを行う方法についてのチュートリアルを見て、どこから始めればよいかわかりませんが。

また、テキストをエコーアウトして必要なものを取得できる場合、エンコーディングタイプを使用する意味は何ですか?表示のためにエコーすることができれば、json型またはxmlのポイントは実際にはわかりません。

4

2 に答える 2

1

さて、エンコーディングタイプから始めるために、あなたが提起したような問題を解決するために特にあります。これらは、応答内の複数の情報を整理するために存在するため、データベースなどから配列、リスト、または複数の行を返すことができます。

Jsonは、構文が非常に軽いため、私の個人的なお気に入りです。AJAXを使用してPHPからjavascriptに配列を渡すには、最初に配列をjsonにエンコードします(基本的には、PHP配列オブジェクトを取得してテキスト表現を作成します)。これは、PHPのjson_encode()関数(PHP.NETリファレンス)を使用して行うことができます。

次に、なんとかしてそれをフェッチする必要があります。組み込み関数があるため、ここでJqueryをお勧めします。Jqueryを使用して、次のように入力します。

$.ajax({
  url: "ajax.php",
  data: {"somedata":"somedata"},
  success: function (data)
  {
    alert(data);
  },
  dataType: "json" /*now jquery will parse the json for you*/
});

このコードでは、Ajaxが情報を返したときに、成功した無名関数が呼び出されます。Jqueryは優れているため、すでにjsonを解析し、オブジェクトデータに配置しています。これで、phpから渡した各配列アイテムにを介してアクセスできるようになりますdata.[ArrayKey]

また、チュートリアルを求めていましたが、これはかなり良いと思われるものです:http ://www.jquery4u.com/json/ajaxjquery-getjson-simple/#.T8PGz9VYua8

それがもう少しよく説明するのに役立つことを願っています、あなたが好きなら私はあなたに例を与えることができます。

于 2012-05-28T18:39:36.460 に答える
0

配列を返す場合は、JSONが最善の方法だと思います。

それは実際には本当に簡単です。

PHP:

$array=array();//this is my array

$array=json_encode($array);//encode the array to JSON format, so that jQuery can decode it.

echo $array;//print it on screen

次に、jQueryを使用します。

$.getJSON('http://mysite.com/myphpscript.php', function(my_data){

//now, my_data is your array..

//so access it like this:

alert(my_data.keyname);//"keyname" is an array key of your array

});//end of ajax request

配列をエンコードするポイントは、jQueryが標準のテキストだけでなく(JSONを使用して)配列として配列を取得できるようにすることです。

于 2012-05-28T18:40:28.123 に答える