gpt4 book ai didi

javascript - Axios PUT 请求到服务器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:30:33 25 4
gpt4 key购买 nike

我阅读了关于 PUT 请求的 axios 的文档,它似乎类似于 GET 请求。但是,没有像 GET 这样的示例代码,但我认为它类似于如何执行 GET 请求。我似乎在使用 axios 发出 PUT 请求时遇到问题。这是我目前使用的测试服务器所拥有的:

axios.put('http://localhost:8080/cats')
.then(res => {
this.setState({
cat: res
});
})
.catch((err) => {
console.log(err);
})

基本上,我正在尝试选择一个项目并对其进行更改。

最佳答案

我想你不明白 Axios 和 HTTP 请求是如何工作的。发出 PUT 请求时,您必须发送要“放入”项目中的数据。您似乎认为,当您发出 PUT 请求时,您会收到返回的项目,然后您可以对其进行编辑并自动保存它,这是不正确的。

想象一下你有一大群猫,它们有名字、图像和关于它们的描述。现在假设您要更新由数字 1(即它的 ID)标识的猫的名称。

下面是一个使用 PUT 请求(通过 Axios)来更新那只猫的名字的例子:

axios.put('https://example.com/cats/1', {
name: 'Tophat Cat'
})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(err);
});

看看我必须如何指定要更新的猫(通过提供该猫的唯一 URL)并提供我要更新的特定数据(名称)?现在,您的服务器会看到它收到了第一只猫的 PUT 请求,并且数据显示要将名称更新为“Tophat Cat”。

然后服务器会发送一个响应(它可以是从“更新成功”到更新猫数据的 JSON 表示的任何内容。

请记住,PUT 请求只能用于更新已经存在的数据。如果你想添加新数据(这在你的例子中看起来有点像,因为你只是将请求指向 /cats 而没有 ID),你应该改用 POST 请求. POST 请求用于添加新数据,PUT 请求用于更新现有数据

POST 请求看起来与上面的 PUT 请求示例非常相似,但有一些重要的变化:

axios.post('https://example.com/cats', {
name: 'Catsandra',
image: 'https://example.com/images/catsandra.jpg',
description: 'Catsandra is the fanciest cat in town!'
})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(err);
});

现在请求将发送到 /cats,这在 REST API 中很典型(它不能指向特定的猫 ID,因为猫尚不存在)。它还指定所有创建新猫所需的数据。在 PUT 请求中,我们只包含了我们想要更新的内容。在 POST 请求中,其他数据尚不存在,因此我们必须指定所有内容。

关于javascript - Axios PUT 请求到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44103187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com