发送数据以表示后端

时间:2018-01-24 09:43:53

标签: node.js reactjs express

我正在学习如何使用express,并且我能够获取数据,但是我在确定如何发送数据以更新后端时遇到了更多麻烦。以下是它的外观示例。

server.js

app.route('/animals')
      .get(function (req, res)  {
        res.send({ Cat, Dog, Bear, Wolf, etc... });
      })
      .patch(function (req, res)  {
        console.log('patch is working!')
        // unsure of how to get this called with react or use req here
      })

反应前端

componentDidMount(){
    this.callApi()
      .then(res =>  this.setState({ name: res[this.state.animal].name }) )
      .catch(err => console.log(err))
  }

  callApi = async () => {
    const response = await fetch('/animals');
    const body = await response.json();

    if (response.status !== 200) throw Error(body.message);

    return body;
  };

这在获取数据时完美无缺,所以我有.get down,但我遇到试图使用.patch的墙。我无法启动console.log,  更别说发送数据了! (让我们说,而不是试图获取动物的名字,我试图更新它的名字。)任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下的解决方案是添加JSON.stringify以及RishikeshDhokare共享的内容!我希望这可以帮助其他人。

const response = await fetch('/animals', { 
  method: 'PATCH',
  headers: {'Content-Type':'application/json'}, 
  body: JSON.stringify({ name: 'kitten}) 
});