需求背景:公司一套后台系统,表格页面用ajax做分页,点击分页以后希望当前url记录分页信息,这样刷新当前页面时,分页信息不丢失。比如我点击第5页,当前url里面记录一个page_num=5,这样刷新页面时,直接进入第5页。现在的问题是,点击分页后,我需要无刷新修改url的方式更新url中的分页信息。以点击进入第5页为例。比如:https://www.baidu.com/点击后,url需要修改为:https://www.baidu.com/?page_num=5https://www.baidu.com/?page_num=2点击后,url需要修改为:https://www.baidu.com/?page_num=5https://www.baidu.com/?page_num=2&type=test点击后,url需要修改为:https://www.baidu.com/?page_num=5&type=test我现在希望通过正则表达式的方式,针对性的修改page_num的值,url的其他部分不受影响,但是这段代码不会写(尤其是正则)?麻烦大神帮忙说下思路,最好贴点代码。延伸一下:上面需求不只是针对性修改page_num值的问题,如果url里面本身没有page_num信息,那么就不是修改page_num的值,而是追加一个page_num=5,这种特殊情况怎么处理呢?大神,如果有时间,就把这个问题也帮忙看下吧,帮忙写点代码,多谢啦。
2 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
也可以把参数放在hash里varhash=(location.hash||'').substring(1);varmatchPageNum=hash.match(/page_num=(\d+)/);if(matchPageNum){varmatchedNum=parseInt(matchPageNum[1]);location.hash=hash.replace(/page_num=(\d+)/,'page_num='+5);}else{location.hash=hash+(hash?'&':'?')+'page_num='+5}点击分页的时候再location.hash=location.hash.replace(/page_num=(\d+)/,'page_num='+5);
添加回答
举报
0/150
提交
取消