Javascript Window.locatin阻止删除数据
我有一个按钮,按下时,我想删除对象。这是我的按钮:Javascript Window.locatin阻止删除数据,javascript,reactjs,axios,Javascript,Reactjs,Axios,我有一个按钮,按下时,我想删除对象。这是我的按钮: <Button onClick={this.handleDelete.bind(this)}> Delete </Button> 现在,如果我按下按钮,它会将我重定向到我想要的地方,但不会删除任何内容。我试着注释出。然后(…),它就可以正常工作了。错误在哪里?。然后方法需要回调函数,但您只需传递一些表达式 handleDelete() { axios .delete( `
<Button onClick={this.handleDelete.bind(this)}>
Delete
</Button>
现在,如果我按下按钮,它会将我重定向到我想要的地方,但不会删除任何内容。我试着注释出
。然后(…)
,它就可以正常工作了。错误在哪里?。然后方法需要回调函数,但您只需传递一些表达式
handleDelete() {
axios
.delete(
`http://proiectdepozite.laravel/api/clienti/${this.state.client.id}`
)
//try this
.then(()=>(window.location = "/clienti"))
.catch(error => console.log(error));
}
你的JS语法<代码>然后需要一个函数。看看你的控制台。试试这个axios。delete('url',{data:payload})。然后(//这次观察data关键字。非常重要//payload是请求主体//做点什么)我在控制台中没有看到错误…@DariusBiro Hm,奇怪。但是,
仍然需要一个函数。我想表达式的语法是有效的,但错了。@abhinavxeon也许是,但还有一个更突出的问题。只发送一个URL就足够了(如果API是这样工作的)。只有当您有数据要发送时才非常重要——唯一需要的参数是URL。第一种方法有效。非常感谢。有什么理由我应该用第二个而不是第一个吗?好的,明白了。谢谢注意到“更容易阅读和缩放”是一个意见问题。我发现第一个更容易——一个异步请求不难推理。
handleDelete() {
axios
.delete(
`http://proiectdepozite.laravel/api/clienti/${this.state.client.id}`
)
//try this
.then(()=>(window.location = "/clienti"))
.catch(error => console.log(error));
}
//use async await
async handleDelete() {
try{
let result = await axios.delete(
`http://proiectdepozite.laravel/api/clienti/${this.state.client.id}`
)
if(result){
//success logic
window.location = "/clienti"
}
}
catch(e){
throw e;
}
}
axios.delete('url', { data: payload }).then(
// Observe the data keyword Very important
// payload is the request body
()=>(window.location = "/clienti")//you can pass as pipe function
)