为什么这个jQuery Ajax请求失败了?
这家公司最近推出了一款小型的。特别是,我对这个项目感兴趣。我试图通过jQuery访问此API,但失败了。如果我的代码有问题,或者这似乎是FCC API的问题,请告诉我 如果在浏览器中访问此API请求,它将返回一个XML响应: 因此,我尝试使用各种方法在jQuery中加载此数据:为什么这个jQuery Ajax请求失败了?,ajax,jquery,Ajax,Jquery,这家公司最近推出了一款小型的。特别是,我对这个项目感兴趣。我试图通过jQuery访问此API,但失败了。如果我的代码有问题,或者这似乎是FCC API的问题,请告诉我 如果在浏览器中访问此API请求,它将返回一个XML响应: 因此,我尝试使用各种方法在jQuery中加载此数据: var url = "http://data.fcc.gov/api/speedtest/find?latitude=30.240236062827297&longitude=-97.64787337499999
var url = "http://data.fcc.gov/api/speedtest/find?latitude=30.240236062827297&longitude=-97.64787337499999";
$.ajax({
type: "GET",
url: url,
success: function(data) {
console.log("ajax: " + data);
}
});
$.getJSON(url, function(data) {
console.log("getJSON: " + data);
});
$.get(url, function(data) {
console.log("get: " + data);
});
在Firebug控制台中,所有三个请求都显示200(OK)状态,但响应主体为空。此外,生成的console.log
消息包括:
ajax:
getJSON: null
get:
我做错什么了吗?您不能使用AJAX进行跨域调用。它不是那样工作的
您可能想做的是让AJAX查询URL成为您自己服务器上的本地脚本,然后让该脚本运行对API URL的请求(使用cURL或其他方法) 要处理同一来源策略,您需要使用JSONP。通过API。将
callback=?
添加到.getJSON()
调用中的URL字符串中:
如果URL包含字符串
“callback=?”在URL中,请求
而是作为JSONP处理。见
中jsonp数据类型的讨论
$.ajax()以获取更多详细信息
比如说:
var url = "http://data.fcc.gov/api/speedtest/find?...&callback=?";
$.getJSON(url, function(data) {
// do stuff
});
参考资料:我认为不可能进行跨域ajax请求。你可能必须这样做:这就成功了,谢谢!不过,我不得不使用jsoncallback而不是回调。