我正在使用json-server
和axios.js
进行项目,但我在方法delete
中遇到问题。
我的axios.js
:
remove = (id) => {
axios.delete('http://127.0.0.1:3000/people/', id)
.then(function(response) {
this.setState({
filtered: response
})
}).catch(function(error) {
console.log(error)
})
}
路由http://127.0.0.1:3000/people
属于json.server
..
错误:
无法加载资源:服务器响应状态为404(未找到)
有人可以帮助我吗?
答案 0 :(得分:0)
以下是一些不同的建议。
1)不要使用逗号,请尝试axios.delete('http://127.0.0.1:3000/people/' + id)
,这样它只会认为网址为http://127.0.0.1:3000/people/3
或其他
2)通过配置对象传递id,所以axios.delete('http://127.0.0.1:3000/people/', {params: {id: id})
删除工作后:我相信DELETE请求的响应是空对象,因此您要设置state.filtered = {}
。我假设你想要没有你刚删除的人的人名单?
答案 1 :(得分:0)
您可以使用uri
方法请求正确的DELETE
。
示例:
DELETE /users/1
http://localhost:4000/users/1
答案 2 :(得分:0)
我刚遇到这个问题。 axios.method(url / id)语法似乎仅适用于GET和POST。对于删除,我使用了以下方法:
axios({
method: 'DELETE',
url: 'http://127.0.0.1:3000/people/' + id
});
答案 3 :(得分:0)
尝试将您的 json 对象主键名称更改为 id,我认为您 可能有这样的
{
"tasks": [
{
"task_id": 2,
"task_name": "test2",
"day": "may 20 2021",
"reminder": true
},
{
"task_id": 3,
"task_name": "test3",
"day": "june 2 2021",
"reminder": true
}
]
}
<块引用>
像这样改变并尝试,它对我有用
{
"tasks": [
{
"id": 2,
"task_name": "test2",
"day": "may 20 2021",
"reminder": true
},
{
"id": 3,
"task_name": "test3",
"day": "june 2 2021",
"reminder": true
}
]
}