【问题标题】:PUT route with Node.JS使用 Node.JS 的 PUT 路由
【发布时间】:2014-09-08 18:28:09
【问题描述】:

我是新来的,遇到一个问题,希望你能帮助我:)。

我的客户端有以下 AJAX 发送数据以更新数据库:

$.ajax({
 type: 'PUT',
 url: host + '/database',
 data {
  name: 'MisterX',
  email: 'mister.x@gmail.com
 },
 sucess:function(sucess) {
  alert('sucess');
 },
 err:function(err) {
  console.log(err);
 }
});

他们,在我的路线文件中:

app.put('/database', function(req, res) {
        require('data', function (data){
            var database = data;

            database.save(function (err) {
                if(err) {
                    console.log('err', err);
                }
                res.status(200).json('ok');
                console.log('Database updated');
            });
        });
    });

这个 put 路由理论上完全是做的,我不知道如何获取数据并在我的数据库中更新它们

我的架构:

var databaseSchema = mongoose.Schema({
        name: String,
        email: String,
    });

如果有人能给我一个方向,我很感激。

谢谢。

【问题讨论】:

  • require('data',... 中的数据是什么?
  • 你在用什么?猫鼬?
  • 我很伤心,这只是理论上的哈哈......我正试图从 ajax 请求中获取这个:data { name: 'MisterX', email: 'mister.x@gmail.com } ,
  • Yesssss @sobingt.. 我更新了帖子.. 你可以看到我的架构..
  • 你需要使用像moongoosejs这样的mongodb驱动。阅读上面的链接。

标签: jquery ajax node.js put


【解决方案1】:

架构文件 databaseScheme.js

....
var databaseSchema = mongoose.Schema({
    nome: String,
    email: String,
});
...

路线

/*
 * body-parser is a piece of express middleware that 
 *   reads a form's input and stores it as a javascript
 *   object accessible through `req.body` 
 *
 * 'body-parser' must be installed (via `npm install --save body-parser`)
 * For more info see: https://github.com/expressjs/body-parser
 */
var bodyParser = require('body-parser');
var app = express();
// instruct the app to use the `bodyParser()` middleware for all routes
app.use(bodyParser());

var Database = require(. / databaseScheme);
...
...
// As explained above, usage of 'body-parser' means
// that `req.body` will be filled in with the form elements
// Adds a new document
app.post('/database', function(req, res) {
    var database = new Database();
    database.name = request.body.name;
    database.email = request.body.email;
    database.save(function(err) {
        if (err) {
            console.log('err', err);
        }
        res.status(200).json('ok');
        console.log('Database updated');
    });
});

// Update a document
app.put('/database/:id', function(req, res) {
    Database.findById(req.param('id'), function(err, database){
        database.name = request.body.user;
        database.email = request.body.user;
        database.save(function(err) {
             if (err) {
                console.log('err', err);
             }
             res.status(200).json('ok');
             console.log('Database updated');
       });
  });
});

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多