gpt4 book ai didi

javascript - Backbone.js 中的登录处理

转载 作者:行者123 更新时间:2023-11-30 18:22:21 25 4
gpt4 key购买 nike

我的 web 应用程序需要一个非常简单的登录系统,带有 backbone.js

工作流程:应用开始->登录 View ->登录时->应用

这是我的解决方案。我怎样才能做得更好?

登录状态模型:

window.LoginStatus = Backbone.Model.extend({
defaults: {
loggedIn: false,
userId: null,
username: null,
error: "An Error Message!"
},

initialize: function () {
_.bindAll(this, 'getSession', 'setStorage');
},

getSession: function (username, password) {
var tmpThis = this;
$.getJSON('http://requestURL.de/getSession.php?username=' + username + '&password=' + password, function(data) {
if (data != null) {
tmpThis.setStorage(data.id, data.username);
$.mobile.changePage("#home");
}
});
},
setStorage: function(userId, username) {
localStorage.setItem("userId", userId);
localStorage.setItem("username", username);
this.set({ "loggedIn" : true});
}
});

这是我的登录 View :

window.LoginView = Backbone.View.extend({

el: $("#login"),

initialize:function () {
this.render();
},

events: {
"click input[type=submit]": "onSubmit"
},

onSubmit: function(event) {
var username = $(this.el).find("#user-username").val(),
password = $(this.el).find("#user-password").val();

this.model.getSession(username, password);

return false;
},
render:function () {
if (this.model.get("loggedIn")) {
var template = _.template( $("#login_template").html(), {} );
} else {
var template = _.template( $("#login_template").html(), { "error" : this.model.get("error") } );
}
$(this.el).html( template );
}

});

最佳答案

我给你的建议是在 Backbone 应用程序之外进行登录,只有在成功登录过程后才让他们访问“单页应用程序”

关于javascript - Backbone.js 中的登录处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com