2

下面我有一个 AJAX 获取请求。调用的 index.php 文件以 JSON 格式返回数据。我想要做的是将这些数据放入一个 JavaScript 数组中。目前我有什么作品,但是该数组将每个不同的字母放入一个数组中。

$.get('../poll/index.php?data=vehicles', function(data) {
    for (var i = 0; i < data.length; i++) {
        vehicles.push(data[i]);
    }
    console.log(vehicles);
});

在此处输入图像描述

我忘记做某事了吗?

谢谢

4

3 回答 3

3

data是一个包含 JSON 的字符串,它不是一个数组。您有四个选项可以将响应 (JSON) 转换为 JavaScript 数据类型(数组或对象):

  1. 显式解析 JSON:在 JavaScript 中解析 JSON?

  2. 设置正确的内容类型响应头,让 jQuery 自动为您解析响应:https ://stackoverflow.com/q/267546/218196

  3. 告诉 jQuery 响应的格式,以便它为您解析它。为此,'json'作为最后一个参数传递给$.get.

  4. 使用$.getJSON,相当于 3。

于 2013-07-08T14:55:50.497 回答
1

试试这个:

$.getJSON('../poll/index.php?data=vehicles', function(data) {
    for (var i = 0; i < data.length; i++) {
        vehicles.push(data[i]);
    }
    console.log(vehicles);
});
于 2013-07-08T14:48:22.043 回答
0

只需使用 jQuery.getJSON() 而不是 jQuery.get()。目前您的请求期望接收原始文本,即字符数组。

请参阅此处此处的官方文档,但在您的情况下,它的用途相同

于 2013-07-08T14:49:26.387 回答