Jquery $.getJSON不工作。为什么?
我可以使用$.get()从ipinfo.io获取数据,如下所示:Jquery $.getJSON不工作。为什么?,jquery,jsonp,Jquery,Jsonp,我可以使用$.get()从ipinfo.io获取数据,如下所示: $.get("http://ipinfo.io", function(response) { alert(response.city); }, "jsonp"); 以上工作。但是,当我尝试使用$.getJSON实现此目的时,我不再获取数据。我的代码是: $.getJSON( "http://ipinfo.io/?callback=callback?", function(response) {
$.get("http://ipinfo.io", function(response) {
alert(response.city);
}, "jsonp");
以上工作。但是,当我尝试使用$.getJSON实现此目的时,我不再获取数据。我的代码是:
$.getJSON(
"http://ipinfo.io/?callback=callback?", function(response) {
alert(response.city);
}
).fail(function(){
console.log("failed");
});
url中的“?callback=callback?”部分在中指示
有时它会显示“请求太多”,这是可以的。但大多数情况下,它没有出现任何错误。我做错了什么?根据
如果URL包含字符串“callback=?”(或类似字符串,如
服务器端API),请求被视为JSONP。见
有关更多详细信息,请讨论$.ajax()中的jsonp数据类型
因此,将代码从callback=callback?
更改为callback=?
,如下所示:
$.getJSON(
"http://ipinfo.io/?callback=?", function(response) {
alert(response.city);
}
).fail(function(){
console.log("failed");
});
如果webservice为jsonp回调使用了与回调不同的参数,那么您将相应地更改该部分。例如,如果您的服务器使用了results=
,则url将是”http://coolwebservice.io/?results=?“
更改”http://ipinfo.io/?callback=callback?“
至”http://ipinfo.io/?callback=?
$.getJSON(
"http://ipinfo.io/?callback=?", function(response) {
alert(response.city);
}
).fail(function(){
console.log("failed");
});
老帖子,但像我这样的人可能正在寻找答案。 用html或php保存文件,即使其中的代码可能是json。 之后,如果希望输出为json,请使用get或GETJSON,后者