Как передать 2 переменные JavaScript через URL? - PullRequest
3 голосов
/ 07 января 2012

Я пытаюсь передать 2 значения переменных в 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;?>">

Ответы [ 3 ]

6 голосов
/ 07 января 2012

Вы можете добавить строки в JavaScript, "a" + "b" == "ab" оценивается как true.

Так что вы, вероятно, хотите var string_url = "http://www.example.com/?" + a + "&blabla=" + b;

Но вы должны когда-либо избегать переменных, особенно если они приходятот input с, поэтому попробуйте

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

А затем

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

Для перенаправления вы можете использовать window.location:

window.location = string_url;
0 голосов
/ 07 января 2012

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;
0 голосов
/ 07 января 2012

используйте амперсанд для разделения переменных

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

Можно сделать более изощренным, но это по сути то, что вам нужно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...