在javascript / angularjs

时间:2017-03-20 10:26:27

标签: javascript angularjs http xmlhttprequest

我试图在我的角应用中获取客户端IP。 我使用此代码:

$http.get("http://l2.io/ip.js").then(function(response) {       
    $scope.ip = response.data;  
});

但它确实

  

错误:XMLHttpRequest无法加载http://l2.io/ip.js。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:9001'因此不允许访问。

如何添加标题?

1 个答案:

答案 0 :(得分:1)

有一个服务提供商为基于javascript的请求提供CORS标头(Access-Control-Allow-Origin:*):

https://freegeoip.com

测试以下XMLHTTP请求以获取示例:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        console.log(xhttp.responseText)
    }
};
xhttp.open("GET", "//freegeoip.net/json/?callback=", true);
xhttp.send();

或者在使用jQuery的情况下:

$.getJSON('//freegeoip.net/json/?callback=?', function(data) {
  console.log(data);
});