【问题标题】:how to return an array from php to ajax response in javascript如何在javascript中将数组从php返回到ajax响应
【发布时间】:2014-09-11 20:45:55
【问题描述】:

如何将php中的数组返回给ajax调用,

ajax 调用:

$.post('get.php',function(data){
alert(data)

});

get.php

$arr_variable = array('033','23454')
echo  $arr_variable;

在警报(数据)中,它显示为数组(即仅文本),当我显示数据[0]时,显示数组的第一个字母,即 A。

有什么建议吗?我哪里做错了

【问题讨论】:

  • 使用echo json_encode($arr_variable)这会将您的数组转换为json格式。

标签: javascript php ajax arrays


【解决方案1】:

用于对数组进行编码

$data['result'] = $arr_variable;
echo json_encode($data);
exit;

并在成功函数中尝试像parseJSON一样得到它

$.post('get.php',function(data){
    var res = $.parseJSON(data);
    alert(res.result)
});

【讨论】:

  • 够了,如何在javascript中显示,我可以编写一个正常的每个循环来显示数组值吗?
  • Param#2 应该是位掩码或深度,而不是布尔值。自此更改,但不能更改投票。
  • @prassu 我已经更新了我的答案以兼容 PHP 数组中动态数量的元素,传输后它会一一提醒。
  • @gautam3164 您不需要 $.parseJSON,因为 $.post 如果检测到有效的 JSON 语法会自动触发。
  • @t3chguy no.你必须在处理json数据时解析它
【解决方案2】:

使用echo json_encode($arr_variable); 代替echo $arr_variable;,然后在jQuery 中您可以像访问对象一样访问它。

一旦它是一个对象,您就可以将其作为 data[0] 等访问。

$.post('get.php',function(data){
    $.each(data, function(d, v){
        alert(v);
    });
});

【讨论】:

  • 你能告诉我如何在javascript中显示数组..我需要动态显示
  • @prassu 请立即尝试
  • 看不到否决票的原因,但不会过度打扰我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多