web-dev-qa-db-ja.com

フェッチ投稿リクエストの本文が空です

私はJavaScriptでフェッチAPIに苦労しています。 POSTフェッチを使用してサーバーに何かを送信しようとすると、リクエストの本文は空の配列になります。しかし、Postmanを使用すると機能します... NodeJSのサーバーコードは次のとおりです。

const express = require('express')
const app = express()
const port = 3000

app.use(express.json())
app.post('/api', function (req, res) {
    console.log(req.body)
})
app.listen(port)

そして、これが私のクライアントです:

fetch('http://"theserverip":3000/api', {
    method: 'POST',
    headers: { "Content-Type": "application/json" },
    mode: 'no-cors',
    body: JSON.stringify({
        name: 'dean',
        login: 'dean',
    })
})
.then((res) => {
    console.log(res)
})

問題は、サーバー側でreq.bodyが空であるということです。誰かが私を助けてくれますか?ありがとうございました !

11
Trietch

ミドルウェアを使用してこの問題を解決しました

app.use(restify.plugins.bodyParser());

または

app.use(multer().array())
0
user1715617