首页 / 浏览问题 / 云GIS / 问题详情
AJAX对data服务进行请求时,设置maxFeatures无效
252EXP 2023年03月06日
在iServer10.1.2上发布一个data服务,用ajax发送请求。设置maxFeatures为30,但返回了109条feature

代码如下:

var queryParam = {
                "getFeatureMode": "SQL",
                "datasetNames": ["DataSource:Dataset"],
                "maxFeatures": 30,
                "targetEpsgCode": 3857,
                "queryParameter": {
                    "sortClause": null,
                    "ids": null,
                    "name": "getGeoJson",
                    "attributeFilter": "SmSdriE >= 15415261.828925535 AND SmSdriW <= 15434935.450307712 AND SmSdriS >= 4247431.32282394 AND SmSdriN <= 4260824.9307497218",
                    "groupClause": null,
                    "linkItems": null,
                    "joinItems": null,
                    "fields": ["field1", "field2"]
                },
                "hasGeometry": true
            };
            var entryJson = JSON.stringify(queryParam);
            $.ajax({
                type: "POST",
                cache: false,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                url: url,
                dataType: "json",
                data: entryJson,
                success: function (response) {
                    console.log("success");
                    console.log(response);
                },
                error: function (error) {
                    console.log("error");
                    console.log(error);
                }
            });

请问造成设置maxFeatures无效的原因是什么,应该如何解决问题。服务器是客户那边的服务器,无法随便更新。

1个回答

您好,从您提供的代码来看参数设置是没有问题的,我这边测试了1012的iserver数据服务设置maxFeatures能生效。

您检查一下执行请求时,network里面对应请求传输参数是否包括了"maxFeatures": 30,提供一下请求传输参数的截图,例如:

3,143EXP 2023年03月06日

您好,我这边尝试使用maxFeatures:10以及SmID<100去测试,但还是可以用检索到99个数据

传输参数和结果如图,使用的数据是用工作空间打开的sqlserver上的数据,然后把工作空间作为data服务发布的:

补充一下,我把包含了相同数据的UDBX文件一起发布,然后用SmID检索这个UDBX内同一个数据的时候,maxFeatures正常生效。可能是和sqlserver相关的问题
您好,我这边测试了一下sqlserver数据库型数据源确实存在该问题,我这边和研发反馈一下,稍后我私信您将缺陷号告知您,后续研发解决之后我会及时联系您。
...