Этот код ниже, я пытаюсь создать сеанс для пользователя, используя ajax, следовательно, возврат isset ($ _ session [...]), который должен быть либо истинным, либо ложным.
этот возврат должен передается в 1. calculate.status
обратный вызов в handleLogin ()
этот статус (true) будет передан в ui.isLoggedin для обновления getTaskbar
, что позволит пользователю использовать возможности на веб-сайте.
, но это не работает. Я перепробовал так много способов, которые, возможно, не смогу здесь описать ..
пожалуйста, любая идея будет оценена по достоинству. Я все еще новичок. Спасибо.
Код здесь ниже.
/ * * @Object LoginManager () --- Управляет взаимодействием кнопок и поведением * например, вход в систему, регистрация, домой, исследование, входящие, профиль и т. Д. * /
function User(){
this.isLoggedin = false;
}
/*
* @object UI() --- Handles User Interface and Interactions
* e.g login, register, home, explore, inbox, profile etc
*
* Descendats :-
* 1. UI.getTaskbar()
2. UI.eventManager()
i. UI.eventManager.handleLogin()
ii. UI.eventManager.handleRegister()
*/
function UI(loggedin = null){
this.user = new User;
this.isLoggedin = loggedin ?? this.user.isLoggedin;
Object.defineProperty(this,'loggedInStatus',{
set : function(value){
loggedInStatus = value;
},
get : function(){
return loggedInStatus;
}
});
}
UI.prototype.getTaskbar = function(){
if(this.isLoggedin && this.isLoggedin === true){
this.taskbarButton_accessed.show();
this.taskbarButton_access.hide();
}else{
this.taskbarButton_accessed.hide();
this.taskbarButton_access.show();
}
}
handleLogin(){
let self = this;
let ui = new UI;
let calculate = {
status: false,
message :"Zzzz",
decideUI : function(){
ui.confirm({
arg:calculate.message,
text:'Alright',
action:function(){
return true;
}
});
},
logUserIn : function(callback){
$.post(self.url,self.form.serialize(),function(data){
calculate.status = data.status;
calculate.message = data.message;
calculate.decideUI();
if(typeof callback === 'function') callback(data.status);
$('#access_login').removeAttr('disabled');
},'json');
}
};
return calculate.logUserIn(function(status){
ui.isLoggedin = status //would return true
ui.getTaskbar(); //Hence update taskbar to use facility
//The problem is..ui.getTaskbar()
//does not work. Please trace up for better //understanding
});
}