jQuery有一些很酷的方法,比如getJSON、get和load。但是,它们最终都会调用AJAX。
我正在尝试访问www.eventsinindia.com/cities/mumbai/events.js?month=2009-05接口。
此API调用以JSON格式返回数据。
我找不到任何方法从jQuery调用此API并以JSON格式获取输出数据。我一直访问受限URI拒绝“代码:"1012错误,因为jQuery正在尝试进行AJAX调用。禁止从独立页面到服务器的AJAX调用。
发布于 2009-05-26 18:40:01
因为它在不同的域上,所以您是否在使用JSONP回调?
http://docs.jquery.com/Ajax/jQuery.getJSON
从JSONP1.2开始,如果您指定一个jQuery回调,就可以加载位于另一个域的
数据,这可以像这样完成:"myurl?callback=?“jQuery会自动替换?使用要调用的正确方法名调用指定的回调。根据接口的不同,该回调参数可能会有所不同,例如Yahoo Pipes需要"_callback=?"
发布于 2009-05-26 19:21:02
如果不是跨域请求,只需要:
jQuery.getJSON("/cities/mumbai/events.js?month=2009-05", function(json) {
alert(json[0]);
});
发布于 2009-05-26 18:50:49
正如@ceejayoz建议的那样,必须使用JSONP技术来访问不同域上的数据。但是,为了实现这一点,服务器端脚本必须启用JSONP,这意味着它必须接受一个参数,该参数将定义客户端回发函数名称,并将其添加到JSON数据的前面。如果不是这样,您需要在承载客户端脚本的域上编写一个服务器脚本,以充当到外部域的桥梁。
https://stackoverflow.com/questions/912066
复制相似问题