通过rest/data/featureResults查询数据报错400

0 投票

详细描述:

对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报错截图

5月 9 分类:  107次浏览 | 用户: jky_jichuang 才疏学浅 (10 分)

1个回答

0 投票
 
已采纳
您好,您可以对比下在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,看下有什么返回的错误消息
5月 9 用户: 阳俊林 名扬四海 (3,296 分)
采纳于 5月 18 用户:jky_jichuang

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

加上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"这里‘+’变成了':'

...