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 回答