赞
踩
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: "/geoserver/Cesium/wms",
layers: "Cesium:sfdem",
parameters: {
transparent: true, //是否透明
format: "image/jpeg" //返回格式
}
})
proxy: {
'/geoserver': {
target: 'http://localhost:8080',//目标服务器地址
changeOrigin: true
}
}
var wmsImageryProvider = new Cesium.WebMapServiceImageryProvider({
url: "/geoserverApi/Cesium/wms",
layers: "Cesium:sfdem",
parameters: {
transparent: true, //是否透明
format: "image/jpeg" //返回格式
}
})
proxy: {
'/geoserverApi': {
target: 'http://localhost:8080/geoserver',//目标服务器地址
changeOrigin: true,
rewrite: (path) => path.replace(/^\/geoserverApi/, '')
}
}
以上两种方式都可以代理同一个服务地址http://localhost:8080/geoserver,授人以鱼不如授人以渔,代理原理详细介绍如下:
(1) target参数:相当于是在代理地址(geoserver或者geoserverApi)前面拼接target
代理后地址就是http://localhost:8080/geoserver或http://localhost:8080/geoserver/geoserverApi
(2)changeOrigin参数:开启代理
在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题;
(3)rewrite参数:路径改写
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。