[英]I am getting undefined from express. Why req.body is showing empty object {}?
这是菜鸟问题,但我是新手。 Req.body 未定义。 我试过没有身体-
解析器和正文解析器,我不断得到相同的结果,我尝试了所有解决方案
在 StackOverflow 中可用,但我一直得到相同的结果
<script>
document.addEventListener("DOMContentLoaded", () => {
document.getElementById('send').addEventListener('click', (e) => {
var message = { name: document.getElementById('name').value, message: document.getElementById('message').value }
postMessages(message)
})
getMessages()
});
function addMessages(message) {
const ele = document.getElementById('messages')
const h4 = document.createElement('h4')
const p = document.createElement('p')
h4.textContent = `${message.name}`
p.textContent = `${message.message}`
ele.append(h4, p)
}
function postMessages(message) {
const Url = "http://localhost:3000/messages"
fetch(Url, {
method: 'POST',
body: message,
})
}
</script>
</body>
</html>
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
app.use(express.static(__dirname))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
var messages = [
{ name: "Tim", message: "Hi" },
{ name: "Jane", message: "Hello" }
]
app.post('/messages', (req, res) => {
console.log(req.body)
messages.push(req.body)
res.sendStatus(200)
})
您需要更改您的 fetch function 和第一个JSON.strindify
您的消息,然后添加正确的标题:
function postMessages(message) {
const Url = "http://localhost:3000/messages"
fetch(Url, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(message),
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.