在jQuery中从PHP打印数组

时间:2011-09-14 11:24:57

标签: php javascript jquery

如何将打印日期和年龄(以下数组)分开$.ajax()

PHP:

$array = array(
                'date' => 2011/9/14,
                'age' => 48,
            );
return $array // this send for ajax call in the jQuery

我想通过jquery输出这个输出:2011/9/14& 48

5 个答案:

答案 0 :(得分:1)

您需要使用PHP函数json_encode将数组编码为有效的JSON字符串。然后,您可以使用jQuery函数$.parseJSON将其转换为JavaScript对象。从那里你就可以随心所欲地做任何事情。

如果你这样做,你最终会得到一个像这样的对象:

ajaxDataObj = {
    date: '2011/9/14',
    age: 48
}

<强> ** **编辑
请参阅下面关于使用$ .getJSON获得更紧凑解决方案的stratton的评论 此外,Ben Everard对你关于使用echo而不是return的原始帖子的评论是至关重要的。

答案 1 :(得分:1)

在php页面中回显编码数组,说mypage.php 使用

echo json_encode($array); 

在客户端使用jQuery.getJson

$.getJSON('mypage.php', function(data) {
  alert(data['date']);
  alert(data['age']);
});

答案 2 :(得分:1)

使用$ .ajax方法并将参数dataType设置为JSON,以便从PHP文件接收数据类型JSON。

Jquery代码:

$.ajax({
  url: "getdata.php",
  type: "post",
  dataType: "json",
  success: function(data){
    alert("Date:" + data.date + "\n" + "Age:" + data.age);
  }
});

如果您的数组数据包含字符串,请确保它使用quote封闭,然后使用json_encode()函数生成数据类型JSON。

PHP代码(getdata.php):

$array= array('date'=>'2011/9/14','age'=>48);
echo json_encode($array);

答案 3 :(得分:0)

您不能只将$array返回给浏览器,结果将是“Array”作为字符串。 你必须使用return json_encode($array);来返回一个可以被浏览器解析的字符串。

答案 4 :(得分:0)

如果服务器 - 客户端通信正常,那么您应该在客户端执行类似的操作:

$.ajax({
    //configuration...
    'success':function(response){
        var dateAge = response.date+' & '+response.age;
        //put or append the string somewhere. 
    }
});