jQuery Ajax each()不工作

时间:2015-01-02 17:18:22

标签: jquery ajax

我是jQuery的新手。我尝试使用Ajax获取一些数据,我想循环它并将其插入result div。

数据未显示在result div。

var url = 'http://node.globalresearch.my/mybanjir/ws.BencanaJKR.php?function=getBencanaJKR&output=json&state_code=06';

var result_div = $('#result');

$.ajax({
    url: url,
    type: 'GET',
    success: function (d) {
        $.each(d, function (i, val) {
        result_div.append(val.id);
        });
    },
    beforeSend: function () {
        $("#loading").show();
    },
    complete: function () {
        $("#loading").hide();
    }
});

DEMO:http://jsfiddle.net/w7jhaqz1/

我有任何错误吗?

还有一个,如何访问个人id?假设我只想为status 1显示id,该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要在dataType: 'json'电话中添加$.ajax。您正在访问的URL(有趣地支持CORS)不会发送正确的Content-type标头。

该标头告诉jQuery如何处理数据。它没有发送正确的头,因此jQuery不知道将其解析为JSON。添加dataType: 'json'告诉jQuery假设它是JSON并解析它。

$.ajax({
    url: url,
    type: 'GET',
    dataType: 'json',
    success: function (d) {
        $.each(d, function (i, val) {
            result_div.append(val.id);
        });
    },
    beforeSend: function () {
        $("#loading").show();
    },
    complete: function () {
        $("#loading").hide();
    }
});