2017-01-26 18 views
1

私はログインフォームを持ち、ユーザー名、パスワード変数を持っています。 しかし私の必要条件は、ログインしたユーザー名をグローバル変数に渡し、サイト全体で使用することです。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(); 

    } 

}); 
+0

こんにちはナンシー、なぜユーザ名var initiationで疑問符?すでに文字列値があることを知っているので、var username = ""を実行できます。 – Kejt

+0

私は答えに置き換えることができるように疑問符を持っていました。そこに何も渡していない。混乱のため申し訳ありません@Kejt – Nancy

答えて

2

var userloginの中()関数を削除グローバルにを使用するためにusername変数

1

を宣言ページを移動してブラウザを更新すると、javascript変数の値が失われ、これらの値を保持することができます。

window.sessionStorage(); 

あなたは

window.sessionStorage.setItem('user',username); 
var loggedInUser = window.sessionStorage.getItem('user'); 

を次のように値を取得/保存することができます。しかし、ウィンドウでパスワードを保存することはお勧めできません、あなたがセッションにログオンを作成するには、いくつかのセッションを使用する/実装する必要があります。

varなしで使用すると、グローバルに使用できるようになりますが、グローバル名前空間を乱雑にしてはいけないので、これは正しい方法ではありません。

myGlobalVariables = { 
"user" : <someValue>, 
... <more variables as required in you r application> 
} 

として一つだけのグローバル変数を作成します。この方法を単一のグローバル変数を使用してのいずれかの方法があります。

+0

私は間違いなくあなたに同意します。私の場合、これは一度ログインしたシングルページアプリケーションです。 – Nancy

+1

現在構築されているほとんどのアプリケーションはSPAですが、ルーティングを使用してナビゲートするだけです。良い習慣、あなたのアプリが将来大きくなる場合。 –

+0

本当に役に立ちましたが、@miteshは本当にありがとう – Nancy

関連する問題