Perform $.getJSON without using JQuery
本问题已经有最佳答案,请猛点这里访问。
如何仅使用javascript获取国家/地区代码,我不允许使用jQuery。
我见过像http://ipinfo.io这样的网站,但是所有的例子都使用了JQuery getJson,我可以实现相同的方法:
1 2 3 4 5 | var country_code = null; $.getJSON('http://ipinfo.io/' + userip, function(data){ country_code = data.country; alert(country_code); }); |
我尝试了以下方法,但它返回了一个页面:
1 2 3 4 5 | var request = new XMLHttpRequest(); request.onload = function(elements) { console.log(elements); }; request.open("get","http://ipinfo.io", true); request.send(); |
工作范例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | var someIp = '8.8.8.8'; var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == XMLHttpRequest.DONE) { if (xmlhttp.status == 200) { document.getElementById("myDiv").innerHTML = xmlhttp.responseText; } else if (xmlhttp.status == 400) { alert('There was an error 400'); } else { alert('something else other than 200 was returned'); } } }; xmlhttp.open("GET","//ipinfo.io/"+someIp+"/json", true); xmlhttp.send(); |
1 | pending |
仅当附加了正确的请求JSON的头时,ipinfo.io服务才返回JSON格式。 但是也可以使用