阅读:4363回复:1
url传参,参数包含特殊字符 如空格(%20)和换行(\n)的处理方法问题描述: 通过url传递字符串参数 ,字符串包含空格和换行,传递后获取到的参数不能正确显示(空格变为%20,换行消失) var str = "abc de \nabc de"; var url = './index.html?str='+ str; 获取到的参数str变为:abc%20de%20abc%20de 可通过以下方式对字符串进行处理: 1.通过 encodeURIComponent 转码后传递: var str = "abc de \nabc de"; var url = './index.html?str='+ encodeURIComponent(str); // 转码
str = decodeURIComponent(str); // url传参后解码 console.log(str); // 得到正确格式的str str = str .replace(/\n/g," "); // 将/n换行 替换为 页面换行符 |
|
沙发#
发布于:2021-12-29 15:07
在js中URL的参数中若有空格时,在后天是获取不全参数的内容。
如:var str = “WIN7 网络测试”,中间带有空格。 $.post({ url: "java/alarm&name="+str, }) 这样时,后台获取不到空格后面的数据,就会有问题。 解决办法:可以用js中的encodeURI(String)或encodeURIComponent(String)方法。 encodeURI:对整个的url进行编码时使用。 encodeURIComponent:对某个url中的参数进行编码。 若是上面这种情况,只是对url中的参数进行编码,则可以用encodeURIComponent(str)方法对参数进行处理。当然两个方法还可以编码其他不能在URL中出现的字符。 原文链接:https://blog.csdn.net/qq_30051139/article/details/50883915 |
|