jQuery如何拼接URL与变量?输入值无法嵌入URL跳转问题
如何正确拼接变量到URL实现页面跳转
我明白你的问题啦——你想把输入框里的内容拼到Google的URL里实现跳转,但直接把变量写在字符串里没法被识别对吧?这是因为JavaScript不会自动解析字符串内部的变量名,得用正确的拼接方式才行,我给你两种常用的解决方案:
方案1:字符串拼接(传统写法)
用+号把固定的URL部分和变量连接起来,这样变量的值就会被正确插入到URL中:
function off(){ var visit = $('#visit').val(); window.location = "http://google.com/" + visit; }
当你输入test时,最终的URL就是http://google.com/test,完全符合你的需求。
方案2:ES6模板字符串(推荐写法)
如果你的项目支持ES6语法,用模板字符串会更简洁直观,用反引号()包裹整个URL,变量放在${}`里就能自动解析:
function off(){ const visit = $('#visit').val(); window.location = `http://google.com/${visit}`; }
这种写法可读性更强,尤其当URL里有多个变量时优势更明显。
额外优化:对输入内容编码
为了避免输入特殊字符(比如空格、中文、&等)导致URL不合法,建议用encodeURIComponent()对变量值进行编码:
function off(){ const visit = $('#visit').val(); window.location = `http://google.com/${encodeURIComponent(visit)}`; }
比如输入hello world,编码后会变成hello%20world,最终URL就是http://google.com/hello%20world,能保证跳转的正确性。
内容的提问来源于stack exchange,提问作者user9582713
相关产品推荐
相关产品推荐

