jqGrid重新加载参数重复传递的问题
解决方案:
各位看官如无时间按照如下方式解决即可:
$("#grid-table").jqGrid('setGridParam', {
datatype : 'json',
postData : params,
page : 1
},true).trigger("reloadGrid");
注:上述代码中“setGridParam”的第二个参数如不设置,默认不覆盖参数,设置为true表示每次请求清空原参数。
问题起因:
最近使用到jqGrid作为数据呈现控件,并自定义了查询条件及方法,使用过程中出现了未指定参数却被传到后台的情况,问题现象图:
- 整体数据图:

- 第一次查询:

- 第二次查询:

可以看出,上述两次查询中,第一次查询按照所制定条件查询到了我们需要的数据。
第二次查询时,我们变更了查询条件,发现第一次的查询条件似乎也被传递到了后台。
排查过程:
- 查看后台参数信息:
- 第一次查询:

- 第二次查询:

- 第一次查询:
可以看到,第二次查询前台虽然未指定“对接状态”参数,后台却接收到

jqGrid在重新加载时出现参数重复传递的问题,导致查询条件被错误地保留在请求中。通过设置setGridParam的overrite参数为true,可以确保每次请求都清除原有参数,避免参数重复。通过对源码的分析和理解,成功解决了这一问题,提高了查询的准确性。

1605

被折叠的 条评论
为什么被折叠?



