首页 / 浏览问题 / 云GIS / 问题详情
通过rest/data/featureResults查询数据报错400
10EXP 2020年05月09日

详细描述:

对rest/data/featureResults发送post请求时返回错误码400,请求体的内容是复制网页版生成的

代码:

$.ajax({
                url: 'http://localhost:8090/iserver/services/data-ChiShuiHeGu/rest/data/featureResults?returnContent=true',
                data: {
                    "getFeatureMode": "SQL",
                    "datasetNames": ["jiankong:FuXingCamera"],
                    "maxFeatures": 100,
                    "queryParameter": {
                        "sortClause":null,
                        "ids":null, 
                        "name":null, 
                        "attributeFilter":"SMUSERID = 0", 
                        "groupClause":null, 
                        "linkItems":null, 
                        "joinItems":null, 
                        "fields":null}
                },
                success: function(result){
                    console.log(result);
                },
                error: function(XMLHttpResponse, textStatus, errorThrown){
                    console.log("1 异步调用返回失败,XMLHttpResponse.readyState:"+XMLHttpResponse.readyState);
                    console.log("2 异步调用返回失败,XMLHttpResponse.status:"+XMLHttpResponse.status);
                    console.log("3 异步调用返回失败,textStatus:"+textStatus);
                    console.log("4 异步调用返回失败,errorThrown:"+errorThrown);
                },
                type: "POST",
                async: false
            });

console.log报错截图

1个回答

您好,您可以对比下在iserver执行请求的时候network里面的请求体,和您直接用ajax请求执行的查询的netrwork的请求体看看有什么区别。您这个可能是需要对data加一个JSON.stringify({ "getFeatureMode": "SQL", "datasetNames": ["jiankong:FuXingCamera"], "maxFeatures": 100, "queryParameter": { "sortClause":null, "ids":null, "name":null, "attributeFilter":"SMUSERID = 0", "groupClause":null, "linkItems":null, "joinItems":null, "fields":null} }).您的截图不足以排查错误,您可以再贴上network中的perview,看下有什么返回的错误消息
3,352EXP 2020年05月09日

第一个图是我原来的网页的图

加上JSON.stringify后

data: JSON.stringify({ "getFeatureMode": "SQL", "datasetNames": ["jiankong:FuXingCamera"], "maxFeatures": 100, "queryParameter": { "sortClause":null, "ids":null, "name":null, "attributeFilter":"SMUSERID=0", "groupClause":null, "linkItems":null, "joinItems":null, "fields":null} }),

变成了这样

"attributeFilter":"SMUSERID = 0"这里‘+’变成了':'

...