背景
公司项目是前后台混合写法,后台得到表格数据在前台输入到表格组件内渲染显示。
需求
实现一个多选条件筛选功能,把筛选结果显示到表格内。
实现
因为筛选条件多选,存在过长的情况,使用POST方法传递。筛选完之后没办法用jq重新渲染页面,决定使用form表单提交条件到后台,然后重定向到本页面,渲染方法可以保持不变。
" 确认重新提交表单"问题
表单提交后重定向到本页面,按F5刷新浏览器会提示“确认重新提交表单”搜了很多,没有好的解决方法。
对form表单提交的机制不太了解,很少使用,中间考虑到清空文本框,重置表单等方法都不能用。
解决方案
最后在每次提交筛选条件前,创建html,将form使用append方法填充到页面中,然后提交。重定向本页面的时候form元素不存在页面中,刷新也就不会再有提示了。
另一种较好的解决方法,执行:window.history.replaceState(null, null, window.location.href);
感兴趣可以搜一下