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调用。
答案 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数据。如果不是这种情况,则需要在托管客户端脚本的域上编写服务器脚本,以充当外部域的桥梁。