как передать несколько значений через url из Одного js файла в другой
Один из способов, чтобы передать значения из одного файла в другой без использования серверного программирования - прописать знак вопроса после файла и прибавить(наверное сказать правильнее конкатенировать) это значение. Одно значение срабатывает хорошо. А как передать несколько значений?
first.html:
<script src="first.js"></script>
<body>
<button id="btn">KNOPKA</button>
</body>
first.js
window.addEventListener("DOMContentLoaded", init);
let arr = [5];
let str = "Hello Vasya!";
function buttonClick() {
arr = [1, 2, 3];
str = "Hello Petya";
location.href ='second.html?'+arr;
}
function init() {
let button = document.getElementById("btn");
button.addEventListener("click", function() {
buttonClick()
});
}
second.html:
<body>
<script src="second.js"></script>
</body>
second.js:
let outcome = location.search.substring(1);
alert(outcome)
Еще подскажите, передача происходит в данном случае с использованием JSON?
Ответы (1 шт):
Автор решения: Денис Степанов
→ Ссылка
Попробуйте вот так.
// first.js
function setVariables(variableArray) {
const url = new URL(window.location);
url.pathname = "second.html";
variableArray.forEach(([name, value]) => {
url.searchParams.set(name, value);
});
window.location = url;
}
setVariables([["name", "Vlad"], ["age", 29]]);
// second.js
function getVariables() {
const result = Object.create(null);
const params = new URLSearchParams(window.location.search);
params.forEach((value, name) => result[name] = value);
return result;
}
console.log(getVariables());