从昨天开始,我一直在努力使用以下代码。
function findLocation(){
alert(1);
$.getJSON( "http://www.omc4web.com/geoip/geoip.php",
{ip: "127.0.0.1",
callingurl: "www.thissite.com" },
function( result ){
alert(2);
$.each(result, function(i, field)
{
alert(i);
if(i=="country")
{
country_code = field;
}
});
})
}
它似乎不想超越php脚本的调用。返回的数据是{"country":"US","store":"US"}
,但该函数似乎不想处理它,我从来没有得到警报(2)。我已经在php脚本中放置了监视器,我可以看到确实使用正确的参数调用它,它确实返回了预期的数据。
如果您从浏览器中调用http://www.omc4web.com/geoip/geoip.php?ip=127.0.0.1&callingurl=www.thissite.com,则会看到数据已返回。
调用没有参数的URL的同一段代码行为正确,但不适用于上述设置。
我剩下的几根头发会对此有所帮助。
其他信息:
header('Content-type:application / json');在PHP脚本上设置
尝试使用chrome和firefox
萤火虫上没有错误只显示空白的响应屏幕
从localhost运行脚本,但如果它是跨域问题,为什么我能够向亚马逊发出类似的呼叫(没有params)? $.getJSON("http://freegeoip.net/json/",function(result){
和常用的flickr示例一样正常。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
提前致谢
OSSI
答案 0 :(得分:0)
我认为这是一个跨域问题。我猜您可以使用freegeoip.net
,因为您正在使用 JSONP 。尝试查看jQuery文档以了解如何使用JSONP:jQuery.getJSON()