私は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が空であるということです。誰かが私を助けてくれますか?ありがとうございました !
ミドルウェアを使用してこの問題を解決しました
app.use(restify.plugins.bodyParser());
または
app.use(multer().array())