【问题标题】:JQuery $.ajax parsererror processing JSONJQuery $.ajax parsererror 处理 JSON
【发布时间】:2013-07-17 10:49:18
【问题描述】:

鉴于以下 JavaScrip sn-p,我收到 JSON 解析错误。如果我直接点击 URL,我会得到一个有效的 JSON 响应(使用 http://jsonlint.com/ 验证)。

如何获取更多关于解析错误的信息?

var purl = 'http://data.police.uk/api/crimes-at-location?date=2012-02&lat=52.629729&lng=-1.131592';
$.ajax({
    type:'GET',
    dataType:'jsonp',
    jsonp:'jsonp',
    url: purl,
    success:function(data){ console.log('success',data)},
    error:function(e, x, y){console.log('error', e, x, y)}
});

控制台中的错误是:

error Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…} parsererror Error {} 

【问题讨论】:

    标签: jquery cross-domain parse-error


    【解决方案1】:

    它是有效的 JSON,但它不是有效的 JSONP,因为 JSONP 应该包装在回调函数中。

    该服务也不支持 CORS,因此您根本无法使用 ajax 获取 JSON,您必须使用服务器端,并改为对您自己的服务器进行 ajax 调用,因为同源策略会阻止您可以直接获取 JSON。

    【讨论】:

    • 是的,最后我使用 Yahoo Query API 进行了包装
    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    相关资源
    最近更新 更多