2015-05-07 22 views
1

我已經定義了我的模式,我只需要知道執行實際HTTP POST請求的語法。我正在使用MongoDB框架的MongoDB。這樣,當我去我的本地主機:300 /用戶,我可以看到我的JSON數據張貼。使用MongoDB/Mongoose在Node中執行HTTP POST請求?

我要張貼到我的本地JSON數據:3000 /用戶

{ 
 
    "firstName": "Jono", 
 
    "lastName": "Ganesan", 
 
    "email": "[email protected]", 
 
    "username": "username", 
 
    "password": "password" 
 
}

我server.js文件

process.env.NODE_ENV = process.env.NODE_ENV || 'development'; 
 
var mongoose = require('./config/mongoose'); 
 
var express = require('./config/express'); 
 
var db = mongoose(); 
 
var app = express(); 
 
app.listen(3000); 
 
module.exports = app; 
 
console.log('Server running at http://localhost:3000/');

user.server.model.js

var mongoose = require('mongoose'), 
 
    Schema = mongoose.Schema; 
 
var UserSchema = new Schema({ 
 
    firstName: String, 
 
    lastName: String, 
 
    email: String, 
 
    username: String, 
 
    password: String 
 
}); 
 
mongoose.model('User', UserSchema);

user.server.routes.js

var users = require('../../app/controllers/users.server.controller'); 
 
module.exports = function(app) { 
 
    app.route('/users').post(users.create); 
 
};
user.server.controller

var User = require('mongoose').model('User'); 
 
exports.create = function(req, res, next) { 
 
    var user = new User(req.body); 
 
    user.save(function(err) { 
 
     if (err) { 
 
      return next(err); 
 
     } else { 
 
      res.json(user); 
 
     } 
 
    }); 
 
};

+0

你能解釋一下多一點,你想在這裏到底是什麼?你想讓代碼在客戶端使用javascript,angular等進行服務器調用嗎? –

回答

0

正如我所理解的 - 你想知道發出請求添加用戶的語法。 在客戶端,使用jQuery - 你可以使用此代碼的服務器POST請求:

$.post("http://localhost:300/users", { 
    "firstName": "Jono", 
    "lastName": "Ganesan", 
    "email": "[email protected]", 
    "username": "username", 
    "password": "password" 
} , 
function(data, status){ 
     alert("Data: " + data); 
}); 
+0

很酷,但我如何使用Node語法來完成它? –

+0

針對userchema的我的user.server.model.js文件 –

+0

節點只是具有完全相同語法的Javascript。此外,節點代碼不能在客戶端運行,所以我想看看關於什麼是問題的一些解釋。 –