1

我很抱歉这可能是论坛上的一个重复问题,但我在理解使用 jquery 加载 jsonp 的过程时遇到了可怕的麻烦。

我只是想编写一个函数,从以下 url 打印出 json 数据:

http://policeapi2.rkh.co.uk/api/crimes-at-location?date=2012-02&lat=52.629729&lng=-1.131592

一个简单的示例函数会很棒!

谢谢,

——丹

4

3 回答 3

2

对不起,但你不能这样做。您提到的 API 服务于 JSON,而不是 JSONP。您无法以某种方式从浏览器将其转换为 JSONP。

因为这是一个跨站点请求,您将无法从浏览器读取 JSON 内容。

只有几个选项:

  1. 在您自己的服务器(托管您的页面)上,设置一个代理来加载他们的 JSON 并将其传递给您的代码。确保 API 具有的任何服务条款都可以。

  2. 让 Policeapi2 人员自己支持 JSONP 请求,或者支持 CORS 请求。

于 2013-04-09T19:37:56.040 回答
1

这就是我们使用 jquery 加载 JSONP 的方式

 $.ajax({
     url: 'http://jsfiddle.net/echo/jsonp/',
     dataType: 'jsonp',
     success: function (data) {
         $('body').text(data);
     }
 });

请记住,该 url 应该为此工作提供一个 jsonp,您提供的 Url 不返回 JSONP,因此您不能这样做。

小提琴

于 2013-04-09T19:42:25.217 回答
0

尝试使用JSON2.js。这是一个例子:

$.ajax({
    url: 'http://policeapi2.rkh.co.uk/api/crimes-at-location?date=2012-02&lat=52.629729&lng=-1.131592',
    success: function(data){
        alert(JSON.stringify(data));
    }
})
于 2013-04-09T19:35:26.410 回答