node.js程序的代码:
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser')
var app = express();
var cors = require('cors');
app.use(express.static(path.join(__dirname,'../client/' ,'build')));
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.use(cors());
app.post('/',(req,res)=>{
console.log(req.body); //always empty
})
我认为node.js程序是正确的,但是每次前端应用程序访问URL req.body
时始终为空,我也不知道为什么。
我的前端应用程序是使用React.js构建的,下面是我称为fetch()
的代码。
fetch('/', {
method: 'POST',
body: JSON.stringify({
task: details
}),
headers: {
"Content-Type": "application/json"
}
})
答案 0 :(得分:1)
尝试更改几件事:
在您的前端:
fetch('/', {
method: 'POST',
body: { task: details },
headers: { "Content-Type": "application/json" }
})
在您的服务器端:
app.post('/',(req,res)=>{
console.log(JSON.stringify(req.body)); //always empty
})
这应该可行。