我真的很新的NodeJS和骨干其如此混乱如何用node.js登录用户express backbone.js mongodb?
登录:
在我使用骨干客户端。
型号
var testModel = Backbone.Model.extend({
url:'api/test',
defaults:{
login:false,
apikey:{},
},
initialize:function(){
this.bind('change:apikey',this.onApiKeyChange,this);
// this.set({'apikey': localStorage.getItem('apikey')});
},
setApiKey:function(apikey){
localStorage.setItem('apiKey', apikey);
this.set({'apikey':apikey});
},
onApiKeyChange:function(){
// console.log(this.toJSON())
//login here
}
});
查看
var testView = Backbone.View.extend({
el:'#content',
events:{
'submit #loginForm':'login',
},
login:function(e){
e.preventDefault();
this.model.setApiKey({name:this.$('input[name=username]').val(),password:this.$('input[name=password]').val()});
}
})
var test= new testView({model:new testModel()});
因此,当用户提交模式得到改变形式和触发onApiKeyChange()
,如果用户登录,然后onApiKeyChange()
应该更新模型与用户细节。我不知道该怎么做,骨干如何发送这样的请求?
服务器端:
var express = require('express');
var routes = require('./routes');
var http = require('http');
var mongoose = require('mongoose');
var app = express();
mongoose.connect('mongodb://localhost/test');
var User = mongoose.model('User',new mongoose.Schema({
name:String,
password:String,
}));
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat" }));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/api/test', someFunction());
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
服务器端只是基本明确app.js,我不`吨知道如何使用的会话。
我知道这可能是一个基本问题,但我只是不明白。请给我一些建议或告诉我一些简单的初学者教程。