如何将打印日期和年龄(以下数组)分开$.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
答案 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.
}
});