如何将JavaScript变量作为URL查询字符串参数正确拼接?
JavaScript变量作为URL查询参数的正确实现方式
你之前的URL拼接代码犯了语法错误——字符串和变量之间没加连接符,JavaScript根本认不出这种写法,所以才会报错。下面给你两种正确的实现方法,以及必须注意的细节:
方法1:用+拼接字符串和变量
这是最基础的写法,把字符串片段和变量用+连起来即可,另外一定要对变量值做URL编码,不然遇到空格、&、中文这类特殊字符,URL就会失效:
// 先对变量值做URL编码 var encodedFrom = encodeURIComponent(fromSemester); var encodedTo = encodeURIComponent(toSemester); // 拼接完整URL var url = 'MyPage.aspx?id=2&fromsemester=' + encodedFrom + '&tosemester=' + encodedTo + '&language=eng';
方法2:用ES6模板字符串(更简洁推荐)
用反引号()把整个URL包起来,变量放在${}`里面,写法更清爽,同样别忘了编码:
var encodedFrom = encodeURIComponent(fromSemester); var encodedTo = encodeURIComponent(toSemester); var url = `MyPage.aspx?id=2&fromsemester=${encodedFrom}&tosemester=${encodedTo}&language=eng`;
重要提醒
不管用哪种方法,URL编码是必须的——如果学期值里包含空格、&、中文这些特殊字符,直接拼接会打乱URL的结构,encodeURIComponent()能把这些字符转成浏览器可识别的安全格式。
内容的提问来源于stack exchange,提问作者SPBeginer
相关产品推荐
相关产品推荐

