gpt4 book ai didi

javascript - jqgrid 4.13.1搜索过滤报错

转载 作者:行者123 更新时间:2023-11-30 16:12:29 25 4
gpt4 key购买 nike

我使用 jqgrid 4.13.1。在 jqfiddle 示例中 http://jsfiddle.net/9ezy09ep/162/ ,当我尝试像这样过滤列表时(重要:将 %tab% 替换为制表符字符,ascii 值=9):

客户 ID > 包含 > %tab%HANAR

我在文件 jquery-1.12.0.min.js 中得到错误:

SyntaxError: JSON.parse: bad control character in string literal at line 1 column 67 of the JSON data

如何转义 jqgrid 过滤器的值字段中的制表符?

最佳答案

我分析了问题。存在问题是因为在 the line 中使用了 xmlJsonClass.toJson免费 jqGrid 4.13.1 的代码。该行来自旧的 jqGrid(参见 here)。我想已经删除了 xmlJsonClass.toJson 的用法并仅使用 JSON.stringify,但我保留了旧方法的用法,希望与旧版本的更好地兼容jqGrid.

问题是 JSON 标准(参见 here)要求 仅转义 "\ 符号以及一些其他符号,例如选项卡,可以转义:

enter image description here

xmlJsonClass.toJson 方法生成字符串,该字符串转义制表符(转换为两个字符 \t)和 JSON.stringify 不不要这样做。

在使用 $.parseJSON 调用 JSON.parse 反序列化 postData.filters 之后问题出现了> 内部。

我修改了搜索对话框的代码以使用 JSON.stringify 作为首选(它存在于所有现代网络浏览器中,并且可以通过包含 json2.js 包含在旧的网络浏览器中) ).我将继续使用 xmlJsonClass.toJson 仅用于回退场景。

我 promise the fix到 GitHub,这解决了问题。参见 http://jsfiddle.net/OlegKi/9ezy09ep/163/ ,它使用来自 GitHub 的最新资源。

关于javascript - jqgrid 4.13.1搜索过滤报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36032664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com