请原谅我的英语不好,我是法国人;)
所以,我要把Ajax称为你这种网址: http://maps.googleapis.com/maps/api/geocode/json?latlng=45.85941212790755,0&sensor=true
使用此代码:
$.ajax({ url:'http://maps.googleapis.com/maps/api/geocode/json?latlng='+pos.coords.latitude+','+pos.coords.longitude+'&sensor=true',
success: function(results){
// ...
}
});
但IE8从未成功(Chrome和FF,IE9和10都可以。)
你有个主意吗?
答案 0 :(得分:2)
修改强>
我的不好,在IE8中,您无法再从客户端请求地理编码,因为Google已从其地理编码器中删除了JSONP
支持。
你可以做两件事之一
使用您自己的服务器作为代理(我这样做)。 这基本上意味着您向自己的服务器上的脚本发出请求,该脚本使用cURL(或类似的)向Google地理编码器发出请求,然后将结果返回给您。
如果您使用的是谷歌地图API,您可以选择使用它的内置地理编码器(https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple)
OLD REPLY
这是IE8中的跨域调用 - 您将收到No Transport
错误(或者如果添加jQuery.support.cors = true
,您仍会收到Access is Denied
错误。
最佳解决方案是使用JSONP
。 jQuery使用JSONP
琐碎。
查看此jQuery Docs page并使用JlickP与Flickr API向下滚动到他们的示例。