我正在尝试在url中传递2个变量值,之后将重定向该url。如何将它们插入JavaScript字符串中?
我有:
var a = document.getElementById("username_a").value;
var b = document.getElementById("username_b").value;
并想要类似:var string_url = "http://www.example.com/?{a}blabla={b}"
,然后以某种方式重定向。
在PHP中,我会使用该代码:<iframe src="http://www.example.com?query=<?php echo $the_variable;?>">
答案 0 :(得分:6)
您可以在JavaScript中添加字符串,"a" + "b" == "ab"
评估为true
。
所以你想要的可能是var string_url = "http://www.example.com/?" + a + "&blabla=" + b;
但你应该逃避vars,特别是如果他们来自input
,所以试试
a = encodeURIComponent(a);
b = encodeURIComponent(b);
然后
var string_url = "http://www.example.com/?" + a + "&blabla=" + b;
要重定向,您可以使用window.location
:
window.location = string_url;
答案 1 :(得分:0)
使用&符号来分割变量
var string_url = "http://www.example.com/?" + "username_a=" + a + "&username_b=" + `b
可以变得更加复杂,但实质上就是你需要的东西
答案 2 :(得分:0)
JavaScript不进行字符串插值。你必须连接这些值。
var uri = "http://example.com/?" + encodeUriComponent(name_of_first_variable) + "=" + encodeUriComponent(value_of_first_variable) + '&' + encodeUriComponent(name_of_second_variable) + "=" + encodeUriComponent(value_of_second_variable);
location.href = uri;