Node.js 正文未解析

萨希尔哈特哈特

当我尝试通过快速服务器将一些数据发布到我的数据库时,主体不会被解析。

我曾尝试使用 express.json() 并且在那之后不起作用,我又回到了 bodyParser.json()。这些事情都没有奏效,所以我上网了。我一直在看视频、阅读文章和搜索堆栈溢出两个小时,但我找不到解决方案。

客户端(react.js):

fetch('http://localhost:7000/users', {
   method: 'POST',
   header: {
      'Content-Type': 'application/json',
      'Accept': 'application/json'
   },
   body: JSON.stringify({
      username: username,
      password: password
   })
});

服务器端(带有 express 的 node.js):

const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const http = require('http');

const app = express();

app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

const index = require('./routes/index');
const users = require('./routes/users');

app.use('/', index);
app.use('/users', users);

const server = http.Server(app);
const port = 7000;

server.listen(port, () => {
    console.log('Listening on port ' + port);
});

(我使用 http 服务器而不是 app.listen 的原因是因为我要添加 socket.io。不确定这是否重要)

路线/users.js:

const express = require('express');
const router = express.Router();
const mongo = require('mongojs');
const dbuser = SENSITIVE_INFO;
const dbpass = SENSITIVE_INFO;
const db = mongo('mongodb://'+dbuser+':'+dbpass+'@ds157574.mlab.com:57574/chat-app-1__saahilkhatkhate', ['users']);

router.get('/', (req, res, next) => {
    db.users.find((err, users) => {
        if (err) {
            res.send(err);
        }
        res.json(users);
    });
});

router.post('/', (req, res, next) => {
    var body = req.body;
    var data = {
        name: body.username,
        password: body.password
    };

    console.log(body);
    console.log(data);

    // db.users.save(data, (err, user) => {
    //     if (err) {
    //         res.send(err);
    //     }
    //     res.json(user);
    // });
});

module.exports = router;

在客户端,我控制台记录了我发送到服务器的内容,结果是:

{“用户名”:“testUser”,“密码”:“testPass”}

在服务器端,我控制台记录了我收到的内容,结果是:

{}

{名称:未定义,密码:未定义}

请让我知道我是否只是愚蠢而遗漏了一些简单的东西,或者是否有一些我应该添加或更改的内容。

预先感谢您的帮助!

赛哈末艾哈迈德 |

我认为这只是一个错字。它应该是“标题”而不是“标题”。

fetch('http://localhost:7000/users', {
 method: 'POST',
 headers: {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
 },
 body: JSON.stringify({
  username: username,
  password: password
 })
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正文解析器Node JS的不需要的格式

来自分类Dev

Node.JS正文解析器问题

来自分类Dev

正文解析器读取json发布数据node.js表达

来自分类Dev

使用node.js,GET,body-parser解析来自GET请求的正文?

来自分类Dev

Node.js / Express POST请求正文已解析为错误的JSON

来自分类Dev

正文解析器在Node.js中显示未定义

来自分类Dev

从带有正文解析器Node js的行中选择一个值

来自分类Dev

正文解析器读取json发布数据node.js表达

来自分类Dev

路由移入自己的文件夹后,Node JS Express无法解析正文

来自分类Dev

Node.js缺少POST请求的正文

来自分类Dev

无法使用node.js v0.12.7检索POST数据,表示4,正文解析器,引导程序3

来自分类Dev

Node Js中的对象解析

来自分类Dev

HTML在Node Js中未正确显示

来自分类Dev

未添加Node.js Express Cookie

来自分类Dev

Node.js代码未执行

来自分类Dev

node.js超时未触发

来自分类Dev

Node.js脚本未运行

来自分类Dev

变量未覆盖node.js

来自分类Dev

node.js超时未触发

来自分类Dev

Node.js没有收到POST正文

来自分类Dev

为什么node.js转换POST正文?

来自分类Dev

Node.js-使用Express获取原始请求正文

来自分类Dev

在Node Express JS的请求正文中传递数组

来自分类Dev

无法在Node.js / Express中访问请求正文数据

来自分类Dev

为什么node.js转换POST正文?

来自分类Dev

通过node.js发送正文到gmail

来自分类Dev

使用Node.js解析CodeIgniter Cookie

来自分类Dev

解析JSON Node.js时出错

来自分类Dev

在Node.js中解析数据