web-dev-qa-db-ja.com

POST axiosとexpressを使用したリクエストの処理

データの本体を提供する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データを適切に処理するにはどうすればよいですか?何かが足りませんか?

成功は正常に返されますが、ユーザー名/パスワードが要求のどこにも見つからないようです

6
Jim

ジムの最後の投稿にコメントするのに十分な評判はありませんが、同じ問題があり、それで解決しました!

明確にするために:私のserver.jsファイルでは、これらの前にルートを要求していました:

これらの最初:

app.use(express.urlencoded({ extended: true }));
app.use(express.json());

次にこれ:

app.use(routes);
10
Ado Moshe

ミドルウェアがすべて故障してインストールされていたことがわかりました。ミドルウェアを使用する前に、server.jsファイルのPOSTを処理しようとしていました。

4
Jim

次のパーサーを追加して、要求されたデータを処理します

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())
3
Weijing Jay Lin