2017-01-26 5 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 username = ""; – Kejt

+0

У меня был знак вопроса, чтобы его можно было заменить ответом. Не пропускать ничего там. Извините за путаницу @Kejt – Nancy

ответ

2

удалить var в Userlogin() функция для того, чтобы использовать globaly объявил username переменную

1

Когда вы перемещаетесь по страницам, и если браузер обновляется, значения переменных javascript будут потеряны, чтобы сохранить эти значения, вы можете использовать

window.sessionStorage(); 

вы можете хранить/получить значение следующие

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

Но это не рекомендуется хранить пароль в окнах, необходимо реализовать/использовать некоторые сессии, чтобы создать вошедшие на сессии.

В вашем текущем scenerio вы можете использовать username без var, чтобы сделать его доступным по всему миру, но это неправильная практика, так как вы не должны загромождать глобальное пространство имен.

Существует один способ использования единой глобальной переменной, как

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

Таким образом, вы будете создавать только один глобальной переменной.

+0

Я определенно согласен с тобой @Mitesh в моем случае это одностраничное приложение-приложение после входа в систему. – Nancy

+1

Большинство приложений, которые сейчас строятся, это SPA, вы просто перемещаетесь с использованием маршрутизации, но всегда хорошо следовать хорошие практики. В случае, если приложение станет больше в будущем. –

+0

действительно полезный ответ, хотя @mitesh большое спасибо – Nancy

Смежные вопросы