leaflet调用iportal代理服务出现跨域

0 投票


使用产品:iserver 9d 910 、iportal 9d 901、iclient9-leaflet 9.1.1 操作系统:win2012 x64
数据类型:mysql
问题详细描述:其他站点使用leaflet调用iportal代理服务的iserver服务执行查询出现跨域问题


问题重现步骤:

1.直接使用iserver地址:http://12.1.150.181:8090/iserver/services/map-PP/rest/maps/PP 访问正常

2.使用iportal代理后的地址:http://12.1.150.177:8095/iserver/services/map-PP/rest/maps/PP 访问出现跨域

		 var ppUrl = "http://12.1.150.177:8095/iserver/services/map-PP/rest/maps/PP";
		 SuperMap.SecurityManager.registerKey(ppUrl,key);//统一权限认证
		 function sqlQuery() {
			var param = new SuperMap.QueryBySQLParameters({
				queryParams: {
					name: "PP@ZJGS",
				}
			});
			L.supermap
				.queryService(ppUrl)
				.queryBySQL(param, function (serviceResult) {
					var result = serviceResult.result;
					resultLayer = L.geoJSON(result.recordsets[0].features).addTo(map);
				});
		}

3月 25 分类:  155次浏览 | 用户: ZHJF (4 分)

1个回答

0 投票
1.你填写的iportal代理后的地址的是不存在的 报的404的错误 你可以检查写这个url
3月 25 用户: 刘美玲 名扬四海 (1,314 分)

解决了,要加上服务来源:serverType:SuperMap.ServerType.IPORTAL

上面两个地址都是我们内网里面的,外网访问不了,我们这边直接地址栏里面访问是可以的,但是客户端用leaflet调用代理地址就会跨域
...