我想通过谷歌API
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
这个地址获取经纬度的地理位置信息,返回的Json对象,但是异步请求数据的时候因为跨域被浏览器禁止了怎么解决?

解决方案 »

  1.   

    服务器上做个代理程序,ajax调用本地的服务器程序去抓google的数据
      

  2.   

    跨域获取json的话,可以这样:
    var ce = document.createElement('script');
    ce.src='http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false';
    document.body.appendChild(ce);因为json是插入后是能直接解释的。XMLHttpRequest无解。
      

  3.   

    原来不能编辑的。第一次来csdn发帖。。再添个图片吧,就是本页面插入后的效果,var ce = document.createElement('script');
    ce.src='http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false';
    document.body.appendChild(ce);
    ]现在的跨域ajax跨域本质都是用script标签。搜索了一下,官方文档就是这样的
    http://code.google.com/apis/maps/documentation/javascript/tutorial.html
      

  4.   

    ..返回的是json对象 我要里面的数据dingdog的方法 没法获取里面的东西啊 只是把返回数据当script载入了