如何从AJAX调用返回数组? [英] How to return an array from an AJAX call?
问题描述
我在寻找到了AJAX调用使用jQuery,具有PHP文件返回一个数组一个更好的解决方案,并让它出来的客户端作为一个Javascript数组。这是我一直在做这样的:
I'm searching for a better solution to making an AJAX call with jQuery, having the PHP file return an array, and have it come out client-side as a Javascript array. Here is what I have been doing this:
PHP文件(使用example.php):
PHP File (Example.php):
<?php
$id_numbers = array('NES-ZL','NES-AL','SNS-ZL');
for ($i=0; $i<count($the_array); $i++){
echo $id_numbers[$i];
echo '|';
}
?>
js文件:
JS File:
id_numbers = new Array();
$.ajax({
url:"Example.php",
type:"POST",
success:function(msg){
id_numbers = msg.split('|');
}
});
我目前的方法是只是有点太令人费解了我的口味。
My current method is just a little too convoluted for my taste.
我想要做的是能够公正
return $id_numbers;
在PHP端,并直接将其翻译为AJAX调用后一个Javascript数组。
on the PHP side and directly translate it to a Javascript array after the AJAX call.
想法,任何人吗?
推荐答案
使用 JSON 以客户端之间传输的数据类型(数组和对象)和服务器。
Use JSON to transfer data types (arrays and objects) between client and server.
在PHP的:
在JavaScript的:
In JavaScript:
PHP:
echo json_encode($id_numbers);
JavaScript的:
JavaScript:
id_numbers = JSON.parse(msg);
由于沃尔夫冈提到的,你可以给一个第四个参数jQuery来自动去code JSON你。
As Wolfgang mentioned, you can give a fourth parameter to jQuery to automatically decode JSON for you.
id_numbers = new Array();
$.ajax({
url:"Example.php",
type:"POST",
success:function(msg){
id_numbers = msg;
},
dataType:"json"
});
这篇关于如何从AJAX调用返回数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!