0

鉴于以下 JavaScrip 片段,我收到 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 {} 
4

1 回答 1

0

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

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

于 2013-07-17T10:52:26.570 回答