And*_*rew 10 javascript jquery json
所以我正在尝试完成从谷歌获取json数据的简单任务,但这一点jquery代码将无法运行.你能帮我弄明白为什么吗?
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$.getJSON("http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false", function(jsondata) {
alert(jsondata.status);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
最佳解决方案:添加"&callback =?" 到网址的末尾.非常感谢你们所有人的帮助!
Pan*_*cus 12
是的,这绝对是同源策略的错误.
似乎最新版本的Google Maps API(v3)不支持jsonp.因此,如果您想进行地理编码,则需要使用maps api:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
$(document).ready(function(){
var loc = "1600 Amphitheatre Parkway, Mountain View, CA";
var geocoder = new google.maps.Geocoder();
geocoder.geocode( {'address': loc },
function(data, status) { console.log(data); });
});
</script>
Run Code Online (Sandbox Code Playgroud)
其他替代品:
它被称为同源政策.简而言之:您的代码所在的域是您的javascript可以与之通信的唯一域(默认情况下)
你得到这样的错误:
XMLHttpRequest cannot load http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11747 次 |
| 最近记录: |