我一直在阅读关于对外部API进行AJAX调用的问题,人们说你必须使用JSONP,否则会出现404错误。
但是,我可以使用以下代码
调用以下API:http://www.telize.com/ip
$.ajax({
type: "GET",
url: "http://www.telize.com/geoip",
success: function(data) {
alert(data.ip);
$(".theTest").text(data.ip);
},
dataType: "JSON"
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
它对我很有用。
此API位于外部服务器上,我可以获取所需的数据。
我错过了什么吗?
答案 0 :(得分:2)
如果您在网络控制台中看到,则表示响应标头值为= Access-Control-Allow-Origin:*
。
有关Access-Control-Allow-Origin的更多信息根据相同的原始策略,如果您调用其他域上存在的API,则会出现错误see this link。浏览器会说它是CORS问题。要解决此问题,其他域中存在的API必须允许您从您的域中调用,即只需添加上述标题 - help
这就是为什么你可以从任何域调用它。看看下面的截图。