如何从AJAX调用返回数组?

2022-08-30 09:49:53

我正在寻找一个更好的解决方案来使用jQuery进行AJAX调用,让PHP文件返回一个数组,并让它作为Javascript数组出现在客户端。以下是我一直在做的事情:

PHP 文件(示例.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 文件:

id_numbers = new Array();
$.ajax({
    url:"Example.php",
    type:"POST",
    success:function(msg){
        id_numbers = msg.split('|');
    }
});

我目前的方法对于我的口味来说有点太复杂了。

我想做的是能够只

return $id_numbers;

在PHP端,并在AJAX调用后直接将其转换为Javascript数组。

想法,有人吗?


答案 1

使用 JSON 在客户端和服务器之间传输数据类型(数组和对象)。

在 PHP 中:

在 JavaScript 中:

菲律宾比索:

echo json_encode($id_numbers);

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"
});

答案 2

看看 PHP 中的 json_encode()。你可以获取 $.ajax 来识别这一点,使用 dataType: “json” 参数。