【问题标题】:Post method from client react to server node来自客户端的发布方法对服务器节点作出反应
【发布时间】:2018-07-02 02:31:06
【问题描述】:

我正在将 react(frontEnd) 与 nodejs(后端)一起使用,我正在尝试将 post 请求从客户端发送到服务器。 .

客户端

下面我使用轴子将请求发送到服务器。 我尝试不使用 axions,而是简单地调用 fetch。我厌倦了添加 localhost:5000 并且没有但我仍然无法正常工作。

仅供参考,我发送的所有数据都是有效的,并且按要求提供。

服务器

在这里我正在尝试处理我的请求并至少将其打印到控制台以验证我的请求是否已通过有效

打印结果!!!

您能否就上述情况提出建议?

添加body-parser后: 目前我得到一个未定义的对象,你能告诉我吗?

【问题讨论】:

  • isTransportationCost 是否只是未定义的?我觉得你所有的参数都应该是未定义的。也为干净的代码 +1
  • req.body 在这里也未定义?
  • 整个请求,以及所有参数
  • Images of codeexception 没有帮助,最好使用文本表示。
  • 同意,发布代码/文本,以便有相同问题的人可以搜索。

标签: node.js reactjs express


【解决方案1】:

试试这个方法

const data = {
    name: this.state.additionalCost
};

 axios
      .post(
        '/api/processData',
        data,
        { headers: { 'Content-Type': 'application/json' } }
      )
      .then(function(result) {
       console.log(result);
      });

并在 express 应用中使用 body-parser

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

app.use(bodyParser.json()); 

【讨论】:

  • 我试过了,i.prntscr.com/5vJ6ijrORx_s5EMydajgdg.png 这是我在服务器端得到的
  • 你是否也添加了bodyParser?
  • 是的,要访问我的数据,我应该输入以下内容,req.body.body.addtionalCost
【解决方案2】:

在标题中设置内容类型并检查

axios.post('url', data, {
    headers: {
        'Content-Type': 'application/json',
    }
}

【讨论】:

    【解决方案3】:

    你不需要 JSON.stringify 你的数据来自 react axios 请求。

    这是一个例子:

    const user = {
        name: this.state.name
    };
    
    axios.post(`https://jsonplaceholder.typicode.com/users`, { user })
        .then(res => {
            console.log(res);
            console.log(res.data);
        }
    )
    

    更多信息请阅读Using Axios with React

    【讨论】:

      猜你喜欢
      • 2021-09-30
      • 2019-06-27
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多