首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何对Google Maps API进行跨域AJAX调用?

如何对Google Maps API进行跨域AJAX调用?
EN

Stack Overflow用户
提问于 2010-05-27 13:59:34
回答 1查看 54.5K关注 0票数 44

我正在尝试向Google Maps Geocoding webservice发出jQuery $.getJSON调用,但由于跨域安全问题,此操作不起作用。

我还没能在网上解决这个问题,但我读了一些关于Google Javascript API或JSONP的文章,但到目前为止还没有明确的答案……

有人能照亮我吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-27 14:22:51

当Google Maps为Server-side Geocoding Web Service提供了一个全功能的Client-side Geocoding API时,我看不出使用JavaScript有什么好处。

首先,这将自动解决同源问题,此外,请求限制将按客户端IP地址计算,而不是按服务器IP地址计算,这对于流行的站点来说会有很大的不同。

下面是一个使用JavaScript地理编码接口v3的非常简单的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script type="text/javascript">     
   var geocoder = new google.maps.Geocoder();
   var address = 'London, UK';

   if (geocoder) {
      geocoder.geocode({ 'address': address }, function (results, status) {
         if (status == google.maps.GeocoderStatus.OK) {
            console.log(results[0].geometry.location);
         }
         else {
            console.log("Geocoding failed: " + status);
         }
      });
   }    
</script>

如果出于某些原因,你仍然想使用服务器端的web服务,你可以设置一个非常简单的reverse proxy,如果你使用的是Apache,可以使用mod_proxy。这将允许您使用AJAX请求的相对路径,而HTTP服务器将充当任何“远程”位置的代理。

在mod_proxy中设置反向代理的基本配置指令是ProxyPass。您通常会按如下方式使用它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ProxyPass     /geocode/     http://maps.google.com/maps/api/geocode/

在这种情况下,浏览器可以向/geocode/output?parameters发出请求,但服务器将通过充当http://maps.google.com/maps/api/geocode/output?parameters的代理来提供服务。

票数 88
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2921745

复制
相关文章
iframe跨域调用js_ajax跨域访问
本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度。
全栈程序员站长
2022/11/10
10.9K0
iframe跨域调用js_ajax跨域访问
Ajax 跨域
所谓域同源,指的是两个服务器资源的根 url 的域名、端口、协议三者完全相同,只要三者中任何一个不同,则说明产生了跨域
Kindem
2022/08/12
5160
Ajax跨域
我们可以在www.a.com的js前端请求 www.a.com然后www.a.com请求www.b.com的数据
用户3094376
2018/09/12
6580
ajax cors跨域_jquery跨域
Jsonp 的实现原理就是:创建一个回调函数,然后在远程服务上调用这个函数并且将 JSON 数据形式作为参数传递,完成回调。
全栈程序员站长
2022/09/23
2.7K0
ajax解决跨域问题_ajax支持跨域请求
需要被请求方的服务端设置: Access-Control-Allow-Origin 注意:Access-Control-Allow-Origin 不可设置为 ,设置为可访问的域名。*
全栈程序员站长
2022/09/25
1.6K0
ajax解决跨域问题_ajax支持跨域请求
AngularJS跨域问题 ajax 跨域
从网上下载了一个AngularJS项目,配置启动后发现数据发送不到自己的后台中去,总是提示跨域问题。
战神伽罗
2019/07/24
3.8K0
AngularJS跨域问题 ajax 跨域
Jquery Ajax 跨域调用asmx类型 WebService范例
摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略(SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制。在本文中,将学习如何克服合作限制。本文以asmx方式搭建webservice作为测试用后端,给出完整的前后端调用解决方案、范例代码。
全栈程序员站长
2022/09/06
1.6K0
Jquery Ajax 跨域调用asmx类型 WebService范例
google maps api_js调用谷歌浏览器接口
1. 使用谷歌地图 API 的第一步就是要注册一个 API 密钥,需要注重一下两点:
全栈程序员站长
2022/09/20
5.7K0
如何解决ajax跨域问题
由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的跨域问题。本篇将讲述一个小白从遇到跨域不知道是跨域问题,到知道是跨域问题不知道如何解决,再到解决跨域问题,最后找到两种方法解决ajax 跨域问题的全过程。 不知是跨域问题 起 因是这样的,为了复用,减少重复开发,单独开发了一个用户权限管理系统,共其他系统获取认证与授权信息,暂且称之为A系统;调用A系统以B为例。在B系统 中用ajax调用A系统系统的接
MonroeCode
2018/02/09
8960
ajax跨域请求
ajax跨域请求: 服务端 @RequestMapping("/baseList") public void baseList(String siteid, String title, Page page,String jsoncallback, HttpServletResponse response){ Map map = new HashMap(); String sql ="1=1"; if(StringUtil.notNullOrEmpty(siteid) && !sql_inj.sql_inj(
企鹅号小编
2018/02/06
2.2K0
ajax跨域问题
跨域问题来自于浏览器同源策略的限制,包括DOM同源限制和ajax同源限制,本文探讨的是ajax跨域。ajax跨域指的是一个页面的ajax只能请求和当前页面同源的数据,如果发现请求到的数据不符合要求,浏览器就会阻止返回的数据。所谓同源,指的是协议、域名、端口号都必须完全相同(同一ip的不同域名也是跨域)。同源策略的主要目的是防止csrf攻击,它可以有效地避免由于恶意攻击带来的危险,浏览器器同源策略使得网络访问更加安全。
traffic
2020/04/09
1.4K0
ajax跨域问题
Ajax 如何解决跨域问题
在 Web 开发过程中经常使用 Ajax 来异步的获取数据,尤其是在前后端分离的架构中基本上都是通过 Ajax 获取数据,渲染页面都由前端浏览器来完成。通常这种前后端分离的架构,对于前端开发者来说已经像开发客户端 App 一样的开发 Web,获取数据也有专门封装好的 RESTful Client 组件来获取数据,不过它的原理也是使用了浏览器的 XMLHttpRequest 这个对象来实现异步请求数据。
青梅煮码
2023/01/12
5070
AJAX的一个简单实例,跨域的解决,使用JQuery来进行ajax的调用
跨域是用ajax异步请求时经常遇到的问题,只要协议、域名、端口号其中一个不同,就产生了跨域访问,解决的方法很简单,建议利用XHR2方法,在后台进行操作从而实现跨域支持IE9以上在服务器设置以下2个请求头就可以解决:
学长冷月
2020/08/02
6.4K0
Ajax跨子域
主页index.html的主要代码如下: <button onclick="crossDomain();">开始跨域</button> <div id="ajax"></div> <iframe src="http://work.2fool.cn/crossdomain/iframe.html" id="iframe" style="display:none;"> </iframe> <script type="text/javascript"> document.domain = '2fool.cn';
磊哥
2018/04/26
1.2K0
浅谈Ajax跨域
如果我们前端页面的url和我们要提交的后端url存在跨域问题时,我们该如何解决呢?
MarsBoy
2018/10/26
4.4K0
Ajax跨域问题
最近在写项目中遇到了ajax跨域问题 。其实这个问题对于资深的程序员来说,并不是很难,但是对于小白来说确实很棘手,那么今天我就来给大家讲讲如何解决这个问题,其实解决这个问题有很多种方法,今天就给大家讲一下比较万能的方法。废话不多说进入正题.....
@派大星
2023/06/28
1180
Ajax跨域问题
ajax如何解决跨域_除了jsonp还有什么跨域方式
之前做过会员邮箱的录入联想功能,因为数据不在我们的服务器,需要调用其他项目组的接口,虽然可以用PHP调用返回结果到页面,但是不如用ajax直接请求更方便,然而ajax是通过XmlHttpRequest请求,限制只能同源使用,子域名和端口肯定是不一样的,这样没法访问。
全栈程序员站长
2022/09/23
4860
ajax如何解决跨域_除了jsonp还有什么跨域方式
ajax跨域解决方案_java如何解决跨域问题
从刚接触前端开发起, 跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下。
全栈程序员站长
2022/09/23
1.1K0
ajax跨域解决方案_java如何解决跨域问题
JSONP跨域ajax请求
1.jsonp是用来实现跨域通信的一种方法。原理如下: 利用script标签的src属性来实现跨域,即:在客户端动态添加script然后将url指向要请求的地址; 将前端方法作为参数传递到服务器,服务
IT架构圈
2018/06/01
1.9K0
ajax 跨域请求api_java跨域请求的三种方法
让ajax请求访问servlet,可以让ajax请求跨域,通过直接本应用中的资源servlet,ajax可以不跨域访问本应用中的servlet,让java程序发送Get,Post请求,来访问2号服务器中的的servlet
全栈程序员站长
2022/09/23
7300
ajax 跨域请求api_java跨域请求的三种方法

相似问题

如何对API进行这种跨域ajax调用

11

进行跨域ajax调用

23

如何对Google Drive API进行Ajax调用?

06

如何进行跨域ajax调用

10

如何对跨域服务器进行定期AJAX调用

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文