如何使用jQuery访问API

时间:2009-05-26 18:36:55

标签: jquery ajax

jQuery有很酷的方法,比如getJSON,get和load。但是他们最终都会调用AJAX。

我正在尝试访问API www.eventsinindia.com/cities/mumbai/events.js?month=2009-05。

此API调用以JSON格式返回数据。

我找不到任何方法从jQuery调用此API并获取JSON格式的输出数据。我不断访问受限制的URI被拒绝“代码:”1012错误,因为jQuery正在尝试进行AJAX调用。禁止从独立页面到服务器的AJAX调用。

3 个答案:

答案 0 :(得分:2)

由于它位于不同的域上,您使用的是JSONP回调吗?

http://docs.jquery.com/Ajax/jQuery.getJSON

  

从jQuery 1.2开始,您可以加载JSON   数据位于另一个域名(如果您)   指定一个JSONP回调,可以是   像这样做:“myurl?callback =?”。   jQuery自动替换?   使用正确的方法名称来调用,   调用指定的回调。这个   回调参数可能会有所不同   在API上,例如Yahoo Pipes   需要“_callback =?”

答案 1 :(得分:1)

如果它不是跨域请求,您只需要:

jQuery.getJSON("/cities/mumbai/events.js?month=2009-05", function(json) {
    alert(json[0]);
});

答案 2 :(得分:0)

由于@ceejayoz建议必须使用JSONP技术来访问不同域上的数据。但为了使其工作,服务器端脚本必须启用JSONP,这意味着它必须接受一个参数,该参数将定义客户端回发函数名称以预先添加到JSON数据。如果不是这种情况,则需要在托管客户端脚本的域上编写服务器脚本,以充当外部域的桥梁。