使用jquery加载jsonp所需的简单示例

时间:2013-04-09 19:30:44

标签: jquery json jsonp

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

我只想编写一个函数,打印出来自以下url的json数据:

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

一个简单的示例函数太棒了!

谢谢,

- 丹

3 个答案:

答案 0 :(得分:2)

抱歉,你不能这样做。您提到的API提供JSON,而不是JSONP。你无法以某种方式从浏览器转换为JSONP。

由于这是一个跨网站请求,您将无法从浏览器中读取JSON内容。

只有几个选项:

  1. 在您自己的服务器上(托管您的页面),建立一个加载其JSON并将其传递给您的代码的代理。使用API​​具有的任何服务条款,确保这没关系。

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

答案 1 :(得分:1)

这是我们用jquery

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

请记住,网址应该为jsonp提供服务,你提供的网址不会返回JSONP,所以你不能这样做。

FIDDLE

答案 2 :(得分: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));
    }
})