データの本体を提供するaxios.postメソッドを実行しているときに、サーバー上で未定義としてキャプチャされる理由がわからないようです。
コードスニペットを含む次のファイルがあります。
app.js:
auth(user, pass){
return axios.post('http://localhost:3000/auth', {
username: user,
password: pass
})
}
server.js:
app.post('/auth', (req, res) => {
console.log(req.body) //undefined
res.end("Success")
})
Axiosを使用してPOSTデータを適切に処理するにはどうすればよいですか?何かが足りませんか?
成功は正常に返されますが、ユーザー名/パスワードが要求のどこにも見つからないようです
ジムの最後の投稿にコメントするのに十分な評判はありませんが、同じ問題があり、それで解決しました!
明確にするために:私のserver.jsファイルでは、これらの前にルートを要求していました:
これらの最初:
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
次にこれ:
app.use(routes);
ミドルウェアがすべて故障してインストールされていたことがわかりました。ミドルウェアを使用する前に、server.jsファイルのPOSTを処理しようとしていました。
次のパーサーを追加して、要求されたデータを処理します
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())