Jquery 不使用JSONP调用API

Jquery 不使用JSONP调用API,jquery,ajax,api,jsonp,Jquery,Ajax,Api,Jsonp,我一直在读关于对外部API进行AJAX调用的文章,人们说您必须使用JSONP,否则会出现404错误 但是,我能够使用以下代码调用以下API: $.ajax({ 键入:“获取”, url:“http://www.telize.com/geoip", 成功:功能(数据){ 警报(data.ip); $(“.theTest”).text(data.ip); }, 数据类型:“JSON” }); 如果您在网络控制台中看到,它会显示响应头值为=访问控制允许原点: 关于访问控制允许源站的更多信息根据同一源

我一直在读关于对外部API进行AJAX调用的文章,人们说您必须使用JSONP,否则会出现404错误

但是,我能够使用以下代码调用以下API:

$.ajax({
键入:“获取”,
url:“http://www.telize.com/geoip",
成功:功能(数据){
警报(data.ip);
$(“.theTest”).text(data.ip);
},
数据类型:“JSON”
});

如果您在网络控制台中看到,它会显示响应头值为=
访问控制允许原点:

关于访问控制允许源站的更多信息根据同一源站策略,如果调用其他域上现有的API,将出现错误。浏览器会说这是个问题。为了克服这一问题,其他域中存在的API必须允许您从域中调用,即只需添加上述标头-

这就是为什么您可以从任何域调用它。看看下面的截图


可能会对
访问控制允许源代码
进行更多的解释,同一源代码策略将使答案完整。因此,他们在响应标题中包含了这一点,允许任何外部应用程序访问它?如果他们没有包含这个额外的头文件,那么我将不得不使用jsonp?是吗?@SubirKumarSao,我只是想补充一下,谢谢你commenting@somango,是的,他们已经添加到响应头中,以帮助其他人从任何域调用。我已经更新了我的答案,只需浏览第二段。