ajax请求参数中含有特殊字符"#"的问题
背景
今天遇到一个问题,当用户在地址栏输入xx小区多少#多少室的时候,这边将参数拼接在请求路径后面,“#”字符号后面的所有参数和值都不见了,一开始我以为是手机问题,换了安卓苹果,清了微信缓存,都不行,最后发现是“#”字符号的问题。希望我解决问题的方式可以给大家一点启发。问题现象如下:
分析原因
主要原因是ajax向后台提交的时候 由于参数中含有# 默认会被截断 只保留#之前的字符 json格式的字符串则不会被请求到后台的action
解决方法
在代码中对可能会出现这个状况的字段,使用encodeURIComponent在前台进行编码赋值,如下:
成功传入
最后
方法不一定是最好的,我需要学习的地方还有好多,还有什么好方法,大家踊跃给我意见。