为什么我无法处理JSON响应?

时间:2012-07-20 16:15:47

标签: jquery ajax json

我回来了一些JSON,需要在我的页面上显示它,但它似乎无法显示!

有人可以看看你是否能看到我错在哪里?

代码:

 $.ajax({ type: "GET",
    url: "URL GOES HERE - Cant give for obvious reasons :)",
    dataType: "jsonp",
    success: function (response) {
        var result = response.d;
        $.each(result, function (index, res) {
            $('#questions').val(res.q);

        });
    },
    error: function (msg) {

    }
});

JSON:

{
  "d": [
        {
            "id": "1002 ",
            "q": "What region is Auchentoshan whisky made in",
            "a1": "Highlands",
            "a2": "Speyside",
            "a3": "Lowlands"
        },
        {
            "id": "1042 ",
            "q": "Chase’s award winning vodka is made from...",
            "a1": "Grapes",
            "a2": "Rye",
            "a3": "Potatoes"
        }
    ]
}

2 个答案:

答案 0 :(得分:0)

dataType jsonp的响应应该是函数调用中包含的JSON blob。由于您只返回JSON,因此应使用dataType的{​​{1}}。

我已调整您的示例以使用JSFiddle echo API。在first version中,我使用了json dataType代码中使用的jsonp。如果您访问该链接,就会看到它,它不起作用。在edited version中,我使用了dataType json,它的工作正常。

答案 1 :(得分:0)

$('#questions').val(res.q);

根据您尝试设置的内容,您可能需要使用:

$('#questions').html(res.q);