通过Openlayers中getGetFeatureInfoUrl方法请求WMS服务数据到客户端(Browser)(基于Geoserver服务器)

本文介绍了如何在Tomcat服务器上解决跨域访问Geoserver GIS数据的问题,并通过OpenLayers的getGetFeatureInfoUrl方法以JSON格式获取地图属性数据。使用jQuery的ajax方法和jsonp解决跨域,重点在于正确设置url、method、dataType、jsonp和jsonpCallback参数,以及在params中添加'format_options'来指定回调函数名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本文基于tomcat服务器进行网站开发,geoserver管理GIS数据服务,在tomcat服务器中访问geoserver时出现跨域访问被拒绝的杯具,遂本文要有理有据的阐述一下如何解决这个跨域访问geoserver中的GIS数据并以JSON数据格式返回到前端。

首先,说一下文章的目的。本文通过点击地图并以JSON格式返回与地图相关的属性数据,首先通过jquery中的ajax方法进行 jsonp 的请求,然后获取到geoserver发回的json数据。道理很简单,可是各种猫腻让人煞费苦心,很多时候会以面瘫的表情结束这一天的生活,第二天接的面瘫,为了防止him, you and me都变成面瘫,我一定要把这些细节说清楚。

然后,我就详细说一下,如下:

首先,本文利用jquery中的ajax方法提供的jsonp解决这个跨域问题,至于jsonp的详细原理,你可以访问我引用他人的文章,写的很详细。点击链接:

http://blog.youkuaiyun.com/lw19910913/article/details/73356212

ajax中有5个重要参数需要引起你的注意:

url, method,dataType, jsonp, jsonpCallback.

url: 毋庸置疑,是你要跨域的网站地址,即geoserver的GIS数据地址;

method: 当然是请求方式啦,本文用'GET';

dataType: 对于跨域问题,这是一个关键参数,该参数设置为 'jsonp';

jsonp: 该参数是干嘛的呢,不好意思,这是用于覆盖callback方法名字(注意覆盖的是名字,不是方法)的参数,可以不设置该参数,默认的名字就是c

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值