Javascript 使用jQuery将局部变量转换为全局变量
我有一个登录表单,它有一个用户名,密码变量。 但我的要求是将登录的用户名传递给一个全局变量,并在整个站点中使用它 这里我希望函数Javascript 使用jQuery将局部变量转换为全局变量,javascript,jquery,Javascript,Jquery,我有一个登录表单,它有一个用户名,密码变量。 但我的要求是将登录的用户名传递给一个全局变量,并在整个站点中使用它 这里我希望函数userLogin()中的用户名值存储在全局用户名中 下面是代码,如果我错了,请帮助: jQuery: $(function(){ var username = ?; /*Login forms functionality */ $("#submit-login").click(function(){ userLogin(); })
userLogin()
中的用户名值存储在全局用户名中
下面是代码,如果我错了,请帮助:
jQuery:
$(function(){
var username = ?;
/*Login forms functionality */
$("#submit-login").click(function(){
userLogin();
});
function userLogin() {
var username = $('#user').val();
var password = $('#pass').val();
var data = $("#login-user").serialize();
}
});
删除userLogin()函数中的
var
,以便在跨页面移动时使用全局声明的username
变量,如果刷新浏览器,javascript变量的值将丢失,以保留这些可供使用的值
window.sessionStorage();
您可以按如下方式存储/检索该值
window.sessionStorage.setItem('user',username);
var loggedInUser = window.sessionStorage.getItem('user');
但不建议在windows中存储密码,您必须实现/使用某些会话来创建登录会话
在当前场景中,您可以使用username
而不使用var
,以使其全局可用,但这不是正确的做法,因为您不应该使全局命名空间混乱
有一种方法可以将单个全局变量用作
myGlobalVariables = {
"user" : <someValue>,
... <more variables as required in you r application>
}
myGlobalVariables={
“用户”:,
...
}
这样,您将只创建一个全局变量。你好,Nancy,为什么要在用户名变量初始化中打问号?您已经知道将有字符串值,因此可以执行var username=“”;我有一个问号,这样就可以用答案代替。没有经过那里。很抱歉造成混淆@KejtI绝对同意你@Mitesh在我的情况下,这是一个单页应用程序,一旦登录。现在正在构建的大多数应用程序都是SPA,你只需使用路由进行导航,但最好遵循良好的实践,以防你的应用程序将来变得更大。