Javascript 如何从AJAX调用返回数组?
我正在寻找一个更好的解决方案来使用jQuery进行AJAX调用,让PHP文件返回一个数组,并将其作为Javascript数组在客户端显示出来。以下是我一直在做的: PHP文件Example.PHP:Javascript 如何从AJAX调用返回数组?,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我正在寻找一个更好的解决方案来使用jQuery进行AJAX调用,让PHP文件返回一个数组,并将其作为Javascript数组在客户端显示出来。以下是我一直在做的: PHP文件Example.PHP: <?php $id_numbers = array('NES-ZL','NES-AL','SNS-ZL'); for ($i=0; $i<count($the_array); $i++){ echo $id_numbers[$i]; ec
<?php
$id_numbers = array('NES-ZL','NES-AL','SNS-ZL');
for ($i=0; $i<count($the_array); $i++){
echo $id_numbers[$i];
echo '|';
}
?>
我目前的方法对我来说太复杂了一点
我想做的是能够
return $id_numbers;
并在AJAX调用后直接将其转换为Javascript数组
想法,有人吗?看看PHP。您可以使用dataType:json参数获得$.ajax来识别这一点。用于在客户端和服务器之间传输数据类型、数组和对象
在PHP中:
在JavaScript中:
id_numbers = JSON.parse(msg);
PHP:
JavaScript:
id_numbers = JSON.parse(msg);
正如Wolfgang提到的,您可以为jQuery提供第四个参数来自动解码JSON
id_numbers = new Array();
$.ajax({
url:"Example.php",
type:"POST",
success:function(msg){
id_numbers = msg;
},
dataType:"json"
});
看看json_编码http://php.net/manual/en/function.json-encode.php. 它从PHP5.2开始提供。使用参数数据类型:“json”为您解析它。您将把对象作为成功的第一个参数。有关更多信息,请参阅jQuery文档:Php有一个超级性感的函数,只需将数组传递给它:
$json = json_encode($var);
$.ajax({
url:"Example.php",
type:"POST",
dataType : "json",
success:function(msg){
console.info(msg);
}
});
简单:@Xeon06,很好,但仅供那些阅读本文并像我一样尝试的人参考。。。 从php=>json\u encode$theArray返回数组时。转换为字符串,对于我这样的软js用户来说,esp不容易操作 在js内部,您试图使用JSON.parse来获取数组的数组值和/或键,如var jsArray=JSON.parsedata中的JSON.parse,其中数据是从php返回的数组。json编码的字符串被转换为js对象,现在可以轻松地进行操作 e、 g。 foo={one:1,two:2,three:3}-在JSON.parse之后获取
对于foo{console.logfoo[+key+]=+foo[key]}中的键-打印到您的firebug控制台。瞧 嗯,我知道我有点晚了,但我尝试了你所有的解决方案,但没有成功! 下面是我如何做到这一点的。 首先,我正在做一个Asp.NETMVC项目。 我唯一更改的是在我的c方法中: public ActionResult获取邀请Guid s\u ID { 使用var db=new cRM\u Verband\u BWEntities { var listSidsMit=来自db.TERMINEINLADUNGEN中的数据,其中data.RECID_KOMMUNIKATIONEN==s_ID select data.RECID_MITARBEITER.ToString.ToArray; 返回JsonlistSidsMit; } } JS中的SuccessFunction: 函数成功函数结果{ console.logresult; }
我将方法类型从string[]更改为ActionResult,当然最后我用Json方法包装了我的数组listSidsMit。非常有用!这肯定会让一切变得更简单、更漂亮。@k_sel这几乎是一个行业标准。每个人都将其用于AJAX。您会注意到JSON也是有效的JavaScript。别忘了对其他noob使用async:false:响应必须是纯JSON。我有一些HTML在里面,一个评论。没有错误消息,只是失败了。非常感谢。这对我来说确实很有帮助,因为如果您使用多维数组,请尝试对内部数组进行json_编码,因此$parent_array=array json_encode$child_array。在我的情况下是有效的。
$json = json_encode($var);
$.ajax({
url:"Example.php",
type:"POST",
dataType : "json",
success:function(msg){
console.info(msg);
}
});