1
處理,我需要一個非常簡單的登錄系統與Backbone.js的登錄在Backbone.js的
我的工作流程的Web應用程序: 應用開始 - > LoginView - >當登錄 - >應用
這裏我的解決方案我能做些什麼更好?
登錄狀態型號:
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});
}
});
這裏是我的登陸查看:
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);
}
});
這對您的應用程序可能並不重要,但這種方法非常不安全。 – 2012-07-31 21:38:31
如果您正在尋找有關您的代碼的一般反饋,那麼http://codereview.stackexchange.com/可能更合適。 – 2012-07-31 21:46:05