将jQuery的局部变量用于全局变量

时间:2017-01-26 16:52:09

标签: javascript jquery

我有一个登录表单,它有一个用户名,密码变量。 但我的要求是将登录的用户名传递给全局变量并在整个站点中使用它。

这里我希望函数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();

    }

});

2 个答案:

答案 0 :(得分:2)

删除userLogin()函数中的 static void Main(string[] args) { List<string> converted = new List<string>(); while (true) // forever { string text = Console.ReadLine(); if (text == null) { break; // no more lines available - break out of loop. } // Convert to capitals TextInfo ti = CultureInfo.CurrentCulture.TextInfo; string convertedText = ti.ToTitleCase(text).Replace(" ", ""); converted.Add(convertedText); } // Now display the converted lines foreach (string text in converted) { Console.WriteLine(text); } } 以使用全局声明的var变量

答案 1 :(得分:1)

当您跨页面移动并且浏览器刷新时,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>
 }

这样您将只创建一个全局变量。