Javascript 为什么在这两种情况下都会删除条目? 简明的
大家好!我是javascript的初学者。我在项目中使用Laravel+数据表。现在我使用的是javascript,而不是默认的javascript 代码 这里我称我的javascript方法为:Javascript 为什么在这两种情况下都会删除条目? 简明的,javascript,laravel,sweetalert,sweetalert2,Javascript,Laravel,Sweetalert,Sweetalert2,大家好!我是javascript的初学者。我在项目中使用Laravel+数据表。现在我使用的是javascript,而不是默认的javascript 代码 这里我称我的javascript方法为: <a href="#" onclick="deleteData('.$contact->id.')" class="btn btn-danger btn-xs"> <i class="fa fa-trash"></i> <span>De
<a href="#" onclick="deleteData('.$contact->id.')" class="btn btn-danger btn-xs">
<i class="fa fa-trash"></i>
<span>Delete</span>
</a>
当我单击删除按钮时:
显示确认模型:
然后我将单击取消按钮。但单击“取消”按钮后,从数据库中删除了数据。为什么在这两种情况下都会删除条目?您忘记检查已解决承诺的结果:
swal({
标题:“你确定吗?”,
文本:“您将无法还原此内容!”,
键入:“警告”,
showCancelButton:true,
cancelButtonColor:“#d33”,
confirmButtonColor:“#3085d6”,
confirmButtonText:“是的,删除它!”
}).然后(函数(结果){
if(result.value){
//执行AJAX请求
}
});代码>
在swal后的then功能中,您需要检查是否按下了ok或cancel,并且仅在按下ok时删除内容。看一看“使用承诺”下的例子,我看到了文档@James,但我不明白点击这里要检查什么。如何检查按下了哪个按钮?在javascript中有函数button=confirm('confirm message!')
,如果(button==true)
可以使用它,但在sweetalerts中我不能使用check clicked按钮。你使用的方式,then
是错误的,它基本上是说,每当显示或完成sweetAlert时,就从服务器上删除数据,你必须检查按钮是否被按下。谢谢,我更正了我的javascript代码@Limon Monte
function deleteData(id){
var csrf_token = $('meta[name="csrf-token"]').attr('content');
swal({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
cancelButtonColor: '#d33',
confirmButtonColor: '#3085d6',
confirmButtonText: 'Yes, delete it!'
}).then(function(){
$.ajax({
url: "{{url('contact')}}" + '/' + id,
type: "POST",
data: {'_method' : 'DELETE', '_token' : csrf_token},
success: function(data){
contacts.ajax.reload();
swal({
title: 'Success!',
text: 'Data has been deleted!',
type: 'success',
timer: '1500'
})
},
error: function(){
swal({
title: 'Oops...',
text: 'Something went wrong!',
type: 'error',
timer: '1500'
})
}
});
});
}