如何通过url传递2个JavaScript变量

How to pass 2 JavaScript variables through a url?

本文关键字:JavaScript 变量 2个 传递 何通过 url      更新时间:2023-09-26

我正在尝试在一个url中传递两个变量值,之后将重定向该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;?>">

您可以在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;

使用"与"来拆分vars

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

可以做得更sopicated,但本质上这就是您需要的

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;