node+mongodb的ajax例子

来源:luqidong 发布时间:2013-12-02 21:23:23 点击数:

这个例子很简单就是前台发送数据,到后台接受,然后处理返回相应的状态:

我们先安装好环境,然后我采用的是jade模版,代码如下

html
    head
        script(src='//code.jquery.com/jquery-1.10.2.min.js')
        script(src='javascripts/ued.js')
        title #{title}
    body
        input#name(type='text')
        input#pwd(type='text')
        input(type='button', value='send', id='send')
我写了一个用户存储的例子在users.js里面
function User(user){
    this.name = user.name;
    this.password = user.password;
}
module.exports = User;
var userSchema =  mongoose.Schema({
    name: String,
    password: String
}, {
    collection: 'users'
});
var userModel = mongoose.model('User',userSchema);
User.prototype.save = function(callback){
    var md5 = crypto.createHash('md5');
    var user = {
        name: this.name,
        password: this.password
    };
    var newUser = new userModel(user);
    newUser.save(function(err,user){
        if(err){
            return callback(err);
        }
        callback(null,user);
    })
 
}
然后在前端也就是jade页面加载的脚本里面写了一个发送请求的过程:
$(function(){
    $("#send").click(function(){
        $.post("/reg",{username:$("#name").val(),pwd:$("#pwd").val()},function(data){
            if(data){
                alert(data.status);
            }
        });
    });
});
发送之后在后台这样写了
    app.post("/reg", function (req, res) {
        var newuser = new User({
            name:req.body.name,
            pwd:req.body.pwd
        });
        newuser.save(function(err,user){
            if(err){
                res.send({"status":1});
            }
            else{
                console.log(user.name);
            }
        });
    });
这是最简单的例子。