2012-01-07 115 views
3

我想在URL中传递2个变量值,该URL将被重定向后。我如何将它们插入到JavaScript字符串中?如何通过url传递2个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

使用的符号拆分瓦尔

var string_url = "http://www.example.com/?" + "username_a=" + a + "&username_b=" + `b 

可以作出更sopisticated,但在本质上是你所需要的

+0

这是用户输入。数据**需要**转义或它会中断。 – Quentin 2012-01-07 11:31:05

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; 
6

您可以在JavaScript字符串添加,"a" + "b" == "ab"评估为true

所以,你想要什么可能是var string_url = "http://www.example.com/?" + a + "&blabla=" + b;

但你应该永远逃脱瓦尔特别是如果他们来自input S,所以尽量

a = encodeURIComponent(a); 
b = encodeURIComponent(b); 

然后

var string_url = "http://www.example.com/?" + a + "&blabla=" + b; 

将您重定向可以使用window.location

window.location = string_url;