使用javascript的decodeURIComponent函数解码查询字符串时,处理不了"+",例如下面url中的查询字符串值
/search?q=java+依赖注入
这里的java+依赖注入的加号是用户输入的空格,而在用decodeURIComponent('java+依赖注入')
得到的值还是java+依赖注入
,这里需要再做一下处理:
decodeURIComponent(q.replace(/\+/g,'%20'));
即在调用decodeURIComponent函数之前要先把+替换为%20,这样就没有问题了