我正在学习如何使用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, 更别说发送数据了! (让我们说,而不是试图获取动物的名字,我试图更新它的名字。)任何想法?提前谢谢。
答案 0 :(得分:0)
在这种情况下的解决方案是添加JSON.stringify以及RishikeshDhokare共享的内容!我希望这可以帮助其他人。
const response = await fetch('/animals', {
method: 'PATCH',
headers: {'Content-Type':'application/json'},
body: JSON.stringify({ name: 'kitten})
});