1

使用 CQL 过滤器时,我遇到了一个非常奇怪的行为。这是使用 AJAX 时的 URL 结果

http://localhost/geoserver/visualization/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=visualization:pothole,visualization:HPMS&outputFormat=text/javascript&format_options=callback:loadFeatures&srsname=EPSG:3857&cql_filter=branchCode='N00225' AND direction='S'

现在看下图,它是控制台日志中显示的上述 URL。

在此处输入图像描述

请注意,URL 在 之后中断cql_filter=branchCode='N00225,它不会读取结束'。如果我点击 URL,它会给我这个错误:

<ows:ExceptionText>Could not parse CQL filter list. Lexical error at line 1, column 19. Encountered: <EOF> after : "\'N00225" Parsing : branchCode='N00225.</ows:ExceptionText>

这是我生成branchCode上述内容的javascript代码

"branchCode='"+val+"'";

这背后的原因是什么以及如何解决?

4

1 回答 1

0

我不知道为什么,但是如果我像这样修改我的 cql 过滤器字符串,它可以工作

filter = filter.replace(/'/g, '%27').replace(/ /g, '%20');
于 2020-06-29T01:26:35.030 回答