我发送的电子邮件将用户链接到带有查询字符串的网址。我正在检索此字符串:
var getQueryString = function ( field, url ) {
var href = url ? url : window.location.href;
var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' );
var string = reg.exec(href);
return string ? string[1] : null;
};
var list = getQueryString('list', window.location.href);
console.log(list);
我想将此查询字符串传递给此页面上的另一个链接。我当前的函数读作:
function signin(){
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;
firebase.auth().signInWithEmailAndPassword(email, password).then(function(){
window.location.replace("management.html" + list);
})
.catch(function(error) {
...
});
}
如何正确地将变量list
传递给signin
?
答案 0 :(得分:1)
您的list
变量仅包含查询'?list=123'
的值,例如'123'
您没有创建新的查询字符串....只需将相同的值添加到新网址的末尾,以便它看起来像"management.html123'
如果您希望将当前页面的整个查询字符串传递到新页面,您可以使用location.search
location.replace("management.html" + location.search);
或只是'list'
做:
location.replace("management.html?list=" + list);
答案 1 :(得分:-1)
如果这些不在同一页面上并且无法访问全局变量,我将使用此处提供的本地存储解决方案:
Passing Variable through JavaScript from one html page to another page