打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
OpenLayers之跨域
最近在工作中使用OpenLayers 进行开发,遇到的第一个问题就是使用 OpenLayers 访问 WFS服务的时候存在跨域问题,经查资料得知必须使用设置代理的方法才能正常使用。经过几番测试,终于成功,现分享一下。

   容器环境:Tomcat 7.x

   应用:testmap

   测试环境:OpenLayers写的应用testmap部署在 Tomcat下(http://127.0.0.1:8080/testmap/mymap.jsp),

要访问的WFS服务位于远程服务器(http://192.168.0.145:20000/geoserver/wfs),此时必须使用代理才能正常访问,下面讲述testmap应用添加proxy.cgi代理支持。

   1.打开下载的 OpenLayers\examples\ 目录,找到proxy.cgi 文件,在应用 testmap 的 \WEB-INF\ 目录中新建文件夹 cgi(即:\WEB-INF\cgi),将 proxy.cgi 文件拷贝至此文件夹下。



   2.编辑 proxy.cgi 文件,在 allowedHosts 数组段最后添加远程地址,此文为'192.168.0.145:20000'。

   3.安装python27 ,记得安装路径(本文为:E:/Python27/)。(本人测试多个版本,其他版本未能成功使用代理,python27则成功,也不知为何,暂时先这样吧)

   4.在 testmap应用的 WEB.xml 文件内添加如下内容:


    5.修改本机 Tomcat 的 Tomcat/conf/context.xml文件。(Context 标签里添加 privileged="true")

   6.运行测试,本机应用testmap 部署为 http://127.0.0.1:8080/testmap/。浏览器访问

http://127.0.0.1:8080/testmap/cgi/proxy.cgi ,正常情况下反馈的是OpenLayers的主页。

   7.在 js中使用代理时,在 script 开始的地方添加 OpenLayers.ProxyHost = "cgi/proxy.cgi?url="。

   上述内容是本人根据资料亲自测试成功得到,能够有效解决跨域问题。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
十个Python练手的实战项目,学会这些Python就基本没问题了
Apache-Tomcat-6.0.36配置基于Python的CGI脚本解析
Mapinfo 与OpenLayers 的结合
计算机常用英语术语、词汇表!(2)
python CGI
qq空间有密码怎么看里面的相册?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服