javascript - 如何从 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];
        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 数组。

有什么想法吗?

最佳答案

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

在 PHP 中:

  • json_encode
  • json_decode

在 JavaScript 中:

  • JSON.stringify
  • JSON.parse

PHP:

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

https://stackoverflow.com/questions/8823925/

相关文章:

c# - EF 4.1 - 代码优先 - JSON 循环引用序列化错误

ios - Swift读取远程通知的userInfo

android - 如何在Android中解析json字符串?

jquery - 如何获取 JSON 键和值?

java - 在 Java 中将 JSON 转换为 XML

wcf - 在 wcf 中返回原始 json(字符串)

php - 带有双引号的json解析错误

c# - 判断 Json 结果是对象还是数组

java - Retrofit2 安卓 : Expected BEGIN_ARRAY but was

json - 如何从 nginx 生成 JSON 日志?