我正在尝试通过将 IP 地址作为输入从 www.geoplugin.net 获取国家/地区名称。它在控制台中显示错误
Posted
技术标签:
【中文标题】我正在尝试通过将 IP 地址作为输入从 www.geoplugin.net 获取国家/地区名称。它在控制台中显示错误【英文标题】:I am trying to get the country name from a www.geoplugin.net by giving ip address as input. It shows error in console 【发布时间】:2018-01-30 10:44:56 【问题描述】:我尝试在标题中设置数据。例如: header('Access-Control-Allow-Origin: *');等,但我收到错误:“对预检请求的响应未通过访问控制检查”。
var ip_address = $('#ip_address').val();
$.ajax(
url: 'http://www.geoplugin.net/json.gp?ip='+ip_address,
success: function(output)
$('#country_name').val(JSON.parse(output).geoplugin_countryName);
);
【问题讨论】:
请阅读:***.com/questions/10636611/… 解决方案可能是这样的:***.com/a/11691776/2282880 【参考方案1】:您似乎正在尝试从 geolugin.net 的 IP 地址获取国家/地区名称。您可以尝试使用此代码,而不是 ajax 调用。它对我有用。
$.getJSON("https://cors-anywhere.herokuapp.com/http://www.geoplugin.net/json.gp?ip="+$('#ip_address').val(),function(response)
$('#country_name').val(response.geoplugin_countryName);
);
【讨论】:
是的,我试图在我的网站上获取访问者 IP 地址的国家/地区名称,并且您的解决方案有效。感谢您的帮助。【参考方案2】:对于 jQuery:
// In this example, if you make an ajax request to the following website
var myUrl = 'http://www.geoplugin.net/json.gp?ip=216.58.209.68';
// But if you make it from a browser, then it will work without problem ...
// However to make it work, we are going to use the cors-anywhere free service to bypass this
var proxy = 'https://cors-anywhere.herokuapp.com/';
$.ajax(
// The proxy url expects as first URL parameter the URL to be bypassed
// https://cors-anywhere.herokuapp.com/my-url-to-bypass
url: proxy + myUrl,
complete:function(data)
console.log(data);
);
或者使用 $.get、$.getJSON 或 $.post 的快捷方式:
var myUrl = 'http://www.geoplugin.net/json.gp?ip=216.58.209.68';
var proxy = 'https://cors-anywhere.herokuapp.com/';
var finalURL = proxy + myUrl;
// With the get JSON (frequently used) method
$.getJSON(finalURL, function( data )
console.log(data);
);
// With the get method
$.get(finalURL, function( data )
console.log(data);
);
// With the post method
$.post(finalURL, function( data )
console.log(data);
);
【讨论】:
【参考方案3】:这可能会有所帮助
Code to get country name from ip
【讨论】:
以上是关于我正在尝试通过将 IP 地址作为输入从 www.geoplugin.net 获取国家/地区名称。它在控制台中显示错误的主要内容,如果未能解决你的问题,请参考以下文章