最近在修改项目bug时处理了如下几种导致post请求失败的编码问题,其中皆是一些特殊输入的文本内容,具体解决方法如下:
1.一般对付input的value中的值,使用trim()方法即可去除字串前后的空格,但是,当字串中间有空格的时候,trim是不起作用的,这时的空格也是不能被去掉的。因此,在此处使用正则表达式替换一下编码再发送过去就行了,如:
“文本内容”.trim().replace(/\ /g, "%20")
这样就可以了。
2.加号
replace(/\+/g, "%2B")
3.&
replace(/\&/g, "%26")
4.%
replace(/%/g, "%25")
以上这几种符号,经过这样的编码替换之后在post就没有什么问题了。虽然问题很简单,但是也是项目中会遇到的问题,谨以此来记录我的一点点进步,也希望会帮到和我有相同问题的coder。