如何在javascript中将数组从php返回到ajax响应

Posted

技术标签:

【中文标题】如何在javascript中将数组从php返回到ajax响应【英文标题】:how to return an array from php to ajax response in javascript 【发布时间】: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格式。 【参考方案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 请立即尝试 看不到否决票的原因,但不会过度打扰我。

以上是关于如何在javascript中将数组从php返回到ajax响应的主要内容,如果未能解决你的问题,请参考以下文章

如何在php中将所有键值合并到一个数组中[重复]

在c ++中将数组从函数返回到main

如何在 PHP 中将具有已知键的数组元素移动到数组的末尾?

php函数 -extract

如何将 latin1 字符集关联数组从 php 传递到 javascript?

如何在模板中将数据从 Flask 传递到 JavaScript?