【问题标题】:router.post can't pass datarouter.post 无法传递数据
【发布时间】:2019-05-30 07:13:18
【问题描述】:
$.post($gameNetwork._serverURL+'/addfriend', 
{username:"r",tusername:"w"}).done(function (data) {
console.log("finished");
 });



Account.statics.

    friend = function(name,tname,cb) {

        return this.findOneAndUpdate(

        { 'username':  name },

        { $push: {'friendlist': tname}},


        { upsert: true, new: true}, 

        cb);

    };

路线

router.post('/addfriend',  function(req, res) {

//Account.findByName(req.body.username, function(err, account){
    Account.friend(req.body.username,req.body.tusername, function(err, account){
 if (err) {
      return res.status(203).json({
        err: err.msg
      });}
    if (!account) {
      return res.status(203).json({
        err: "Invalid username"
      });}
        var tname = req.body.tusername;

    var profile = {
        tname : tname,
      name: account.username,
      email: account.email,
      id: account._id,
      rank: account.rank
    };  });

这段代码应该在 Mongodb 的“friendlist”字段中输入“w”,但我得到的是 null 而不是 w。

如何在 Mongodb 的“好友列表”字段中输入“w”。 任何帮助表示赞赏 提前致谢

【问题讨论】:

  • 第一步总是做一些基本的调试。如果你添加console.log(req.body);,你能看到你期望看到的吗?
  • 我重启了服务器和浏览器,一切正常
  • 感谢所有cmets

标签: javascript node.js http-post


【解决方案1】:

您可以像这样调试您的请求数据:

router.post('/addfriend',  function(req, res) {
    console.log(req.body);
    // your logic
}

再次运行您的代码,您可以看到您期望的数据。如果您看到 tusername = null 或 undefined,可能是您使用的模块的配置问题,例如 body-parserbusboy。 ..vv

欢迎所有的cmets!

【讨论】:

    【解决方案2】:

    router 在 ExpressJS 中 router?

    如果是,您是否设置了 bodyParser 中间件?

    如果没有,就这样设置

    const express = require('express')
    const bodyParser = require('body-parser')
    
    const app = express()
    
    // parse application/json
    app.use(bodyParser.json())
    

    您也可以尝试在 ajax 请求中对正文进行字符串化,如 here 所述

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 2020-07-05
      相关资源
      最近更新 更多