使用$ .ajax()解析有效的JSON会导致“parseerror”

时间:2013-06-06 09:32:32

标签: jquery ajax json

我在解析位于以下网址的JSON字符串时遇到问题:

http://sandbox.stevenmclintock.com/json/bookmarks

我已经包含了我的jQuery $ .ajax()调用,但似乎无法弄清楚为什么它会返回“解析错误”?它在JSONLint中验证,所以我希望这里的某个人可以帮我一个忙吗?

$.ajax({
    url: '/json/bookmarks',
    type: 'GET',
    dataType: 'application/json',
    success: function (data) {
    alert(data);
    },
    error: function (qXHR, textStatus, errorThrown) {
        alert(textStatus);
    }
});

1 个答案:

答案 0 :(得分:3)

没有dataType: 'application/json',之类的东西。 dataType参数可以是htmltextxmljson,...

所以你可以使用:

dataType: 'json',

或者由于服务器正确地将Content-Type响应头设置为application/json,您可以从AJAX请求中完全删除此dataType参数,因为jQuery足够智能以使用此响应头来自服务器:

$.ajax({
    url: '/json/bookmarks',
    type: 'GET',
    success: function(data) {
        alert(data);
    },
    error: function(qXHR, textStatus, errorThrown) {
        alert(textStatus);
    }
});