'主体'在Express路由器发布请求中无法访问

时间:2017-07-14 08:28:02

标签: javascript node.js express post

我使用Express路由器功能处理一些POST请求。

Client.js

let data = {
  endpoint: "Blah Blah";
};

return fetch('/api/get-preferences/', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(data)
});

Server.js

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());

class HTTPServer {
    constructor(credentials, app) {
        this.app = app;
        this.specifyRoutes();
    }

    specifyRoutes() {
        this.router = express.Router();
        this.router.use((req, res, next) => this.jwtVerify(req, res, next));
        this.app.use('/api', this.router);
        this.router.post('/get-preferences', this.getPref);
    }

    jwtVerify(req, res, next) {
      console.log(req.body);  // This prints "undefined".
      next();
    }
}

我无法访问我在jwtVerify函数中从服务器端客户端发送的数据,一旦修复,我想将该数据传递给{{1} getPref路由中的函数。

1 个答案:

答案 0 :(得分:0)

这里有两个问题。首先,更新:

this.app.use(bodyParser.json());

第二

this.app.use('/api', this.router);