来自React的快速POST请求返回空主体

你好,我正在做一个反应/expression应用程序。 我已经能够从我的服务器发出GET请求,但是,我无法发出POST请求。 当我这样做,我的服务器正在返回一个空的身体。 我有身体分析器作为依赖,接受JSON作为内容,但仍然没有运气与空的身体。 我的代码和服务器/客户端的依赖关系如下。 请让我知道,如果你们看到我不。

Index.js

const express = require('express'); const path = require('path'); const app = express(); const bodyParser = require('body-parser'); //routes require('./routes/sendMessageToEmail')(app); require('./routes/helloWorld')(app); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static(path.join(__dirname, 'client/build'))); app.get('*', (req, res) => { res.sendFile(path.join(__dirname+'/client/build/index.html')); }); const port = process.env.PORT || 1111; app.listen(port); 

例如,当我在我的index.js文件中声明路由的地方切换命令时,在之后声明路由行

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

行,我得到一个不确定的反对一个空的身体。

邮政路线

  module.exports = app => { app.post('/api/message', (req, res) => { console.log('>>>>>>>>>> ', req.body); res.send(req.body) }); } 

我的console.log正在返回一个空的对象。 我已经在邮递员,从我的浏览器,curl等发出的请求。我得到一个200状态响应,但是,身体仍然是空的。

服务器package.json

 { "name": "Blog", "version": "1.0.0", "engines": { "node": "6.11.1" }, "description": "", "main": "index.js", "scripts": { "start": "node index.js", "server": "nodemon index.js", "client": "npm run start --prefix client", "dev": "concurrently \"npm run server\" \"npm run client\"", "heroku-postbuild": "cd client && npm install --only=dev && npm install && npm run build" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.17.2", "concurrently": "^3.5.0", "express": "^4.15.3" } } 

客户端Package.json

 { "name": "client", "version": "0.1.0", "private": true, "dependencies": { "axios": "^0.16.2", "react": "^15.6.1", "react-dom": "^15.6.1", "react-iframe": "^1.0.7", "react-redux": "^5.0.5", "react-router-dom": "^4.1.2", "react-scroll": "^1.5.4", "redux": "^3.7.2", "redux-thunk": "^2.2.0", "semantic-ui-react": "^0.71.3" }, "devDependencies": { "react-scripts": "1.0.10" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" }, "proxy": "http://localhost:1111/" } 

反应POST路线

 import axios from 'axios'; const sendToExpress = (input) => { return fetch('/api/message', { mode: 'no-cors', method: 'POST', headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify({message: 'asdfafa;k'}) //body: JSON.stringify({"message": input}) }) } //ACTION CREATORS export const sendInputToServer = (input) => ({ type: 'SEND_INPUT_TO_SERVER', payload: sendToExpress(input) }); 

任何帮助在这里赞赏搞清楚为什么我的发布请求返回一个空的身体。

尝试删除这一行:

mode: 'no-cors'

为我工作。