怎么通过ajax从wms服务获取属性信息?

代码:

``` var url = "http://*******/arcgis/services/layer/MapServer/WMSServer";
var dat = {
VERSION: "1.3.0", REQUEST: "GetFeatureInfo", QUERY_LAYERS: "topp:states",
BBOX: "*,*,*,*", crs: "4326", INFO_FORMAT: "text/javascript",
I: "200", J: "100", WIDTH: "256", HEIGHT: "256", layers: "topp:states"
}
$.ajax({
type:'GET',
url: url,
data: dat,
success: function (data) {
console.log(data);
},
error: function (errormsg) {
console.log(errormsg);
}
});

但是提示:
Failed to load http://******  No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

好像是跨域问题,就采用jsonp跨域,但是返回数据格式错误,提示:
Uncaught SyntaxError: Unexpected token <

主要是想点击wms地图获取属性信息,想请教各位怎么获取wms的属性信息?

2个回答

我的跨域是这样的,
$.ajax({
type: "POST",
async: false,
url: "请求地址",
data: JSON.stringify({
"getType": "custregist",
"Params": JSON.stringify({
//参数
})
}),
contentType:"application/json",
success: function (json) {} });

gis_ming
金小沛 回复cookicshmily: 同样遇到了楼主的问题,请教如何解决?
12 个月之前 回复
cookicshmily
cookicshmily 感谢~因为我获取属性信息返回格式没有json,用ajax跨域返回的数据格式出错了。后来我选择代理得到了结果。不过还是很感谢你~~~
大约 2 年之前 回复

设置ArcGIS Server允许跨域同样可以解决这个问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问