前段时间遇到个问题,后端返回一个url,我需要加参数直接访问,但由于参数中有的含有特殊字符(#),导致浏览器识别不到#后面的参数内容。
原因:
经过查询得知,因为是get方式,浏览器将#后面的当做新的参数来处理了。如:
想要请求的是http://xxx/xxxxxx/xx?id=1000&name=特殊#字符
实际请求的是http://xxx/xxxxxx/xx?id=1000&name=特殊#
解决:
将特殊字符#转义为ASCII(16进制)码值。
var name = '特殊#字符'
var name2 = ''
name2 = name.replace(/#/g, "%23"); //将#转义为%23
console.log(name2) //打印结果:特殊%23字符
只需将name2代替原来的参数就可以了
http://xxx/xxxxxx/xx?id=1000&name=特殊%23字符
常见URL特殊字符转义
网上有懒得自己写,截个图算了。。
懒癌晚期放弃治疗
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!