POST方法返回空对象

时间:2018-08-10 14:36:12

标签: javascript node.js reactjs api redux

关于Stackoverflow的其他文章都无法解决我的问题,所以我们开始吧。

我有一个React / redux应用程序。我通过操作提出了获取请求:

export const postNewBase = () => title => {
  fetch(`${API_BASE_URL}/addbase`, {
    method: "POST",
    headers: {
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        title: title
    })
  })
    .then(res => {
        return res.json();
    })
    .catch(error => {
        console.log("Request failed", error);
    });
  };

组件调用它:

onSubmit(event) {
    event.preventDefault();
    const title = this.textInput.value.trim();
    this.props.dispatch(postNewBase(title));
}

我的节点API基本形式如下:

app.post("/addbase", (req, res) => {
  console.log(req.body);
  res.status(200).send(req.body);
});

Req.body返回未定义,并且req不包含与函数提供的title匹配的任何内容。 我的标记有什么问题?

1 个答案:

答案 0 :(得分:0)

您的节点应用程序可能不允许使用JSON编码的正文。

import express from 'express';
import bodyParser from 'body-parser';

// Server app.
const app = express();

// To support JSON-encoded bodies.
app.use(bodyParser.json());