AJAX get请求将每个字母放入数组中

时间:2013-07-08 14:40:58

标签: javascript jquery ajax json

下面我有一个AJAX get请求。调用的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);
});

enter image description here

我忘了做某事吗?

由于

3 个答案:

答案 0 :(得分:3)

data是一个包含JSON的字符串,它不是一个数组。您有四种选择来转换JavaScript数据类型(数组或对象)中的响应(JSON):

  1. 明确解析JSON:Parse JSON in JavaScript?

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

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

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

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:0)

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

请参阅官方文档herehere,但在您的情况下使用相同