Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在这两种情况下都会删除条目? 简明的_Javascript_Laravel_Sweetalert_Sweetalert2 - Fatal编程技术网

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

大家好!我是javascript的初学者。我在项目中使用Laravel+数据表。现在我使用的是javascript,而不是默认的javascript

代码 这里我称我的javascript方法为:

<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'
        })
      }
    });
  });
}