Javascript $.getJSON-在url中使用参数时无法捕获响应
从昨天开始,我一直在为下面的代码而挣扎Javascript $.getJSON-在url中使用参数时无法捕获响应,javascript,jquery,getjson,Javascript,Jquery,Getjson,从昨天开始,我一直在为下面的代码而挣扎 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, f
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脚本中放置了监视器,我可以看到它确实使用正确的参数调用,并且返回了预期的数据
如果从浏览器调用,您将看到返回的数据
调用没有参数的URL的同一段代码行为正常,但与上述设置不同
我剩下的几根头发希望能在这方面得到一些帮助
其他信息:
- 标题('Content-type:application/json');在php脚本上设置
- 在chrome和firefox上试用过
- firebug上没有显示错误,只是一个空白的响应屏幕
- 从localhost运行脚本,但如果这是一个跨域问题,为什么我能够对amazon进行类似的调用(没有参数)<代码>$.getJSON(“http://freegeoip.net/json/,函数(结果){与流行的flickr示例一样工作良好
- 我正在使用
Ossi我认为这是一个跨域的问题。我想你可以使用
freegoip.net
因为你使用的是JSONP。试着看看jQuery文档来学习如何使用JSONP:你能设置一个fiddle-?如果你转到你发布的链接,这是很好而且有效的JSON,但它不是JSONP,所以除非getJSON调用也是m来自同一个域的ade,除非您更改服务器端脚本以输出有效的JSONP,包括回调,否则这将无法工作。您是否在错误控制台中得到类似于访问控制不允许使用Origin Allow Origin的信息?我完全看不到Salman。但使用JSONP确实解决了我的问题。JSONP是解决问题的方法。Impl修正了回调函数,世界又变成了一个快乐的地方。谢谢大家的帮助。