私はいくつかのPOSTリクエストを処理するためにExpressルータ機能を使用しています。私はjwtVerify
機能で、サーバー側でクライアント側から送信されたデータにアクセスすることはできませんExpressルータのポストリクエストで 'body'にアクセスできない
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();
}
}
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これが修正されたら、そのデータを/get-preferences
ルートのgetPref
関数に渡したいと思います。
'this.app.useは何( '/ API'、this.router(REQ、RES))'行うことになって? – robertklep
@robertklep実際には、 'this.app.use( '/ api'、this.router(req、res));'ステートメントの後ろに文がいくつかあります。したがって、 '/ api /'のルートをチェックし、それをその下のステートメントに転送するだけです。 –
'req'と' res'はどこから来ますか?また、「これ」とは何ですか? – robertklep