如何正确捕捉SweetAlert

时间:2017-08-28 10:42:56

标签: sweetalert sweetalert2

我有以下swal代码,如果HTTP调用的返回状态为' 200'它可以正常工作。但如果我得到一个403'未经授权的错误,swal加载器继续旋转,消息永远不会消失,如下所示。我不确定我是否没有正确处理错误。

你能帮忙吗?

enter image description here

let that = this;
swal({
  title: 'Are you sure?',
  text: 'You won\'t be able to revert this!',
  type: 'warning',
  showCancelButton: true,
  confirmButtonText: 'Yes, delete it!',
  confirmButtonColor: '#d33',
  cancelButtonText: 'No, keep it',
  showLoaderOnConfirm: true,
  preConfirm: function (email) {
    return new Promise(function (resolve, reject) {

      that.http.get(url, {"headers": headers})
        .map(res => res)
        .subscribe(data => {
          console.log(data);
          if (data.status === 200) {
            resolve();
          } else {
            reject(data.status);
          }
      })          
    })
  },
  allowOutsideClick: false
}).then(function() {
  swal(
    'Deleted!',
    'The user has been deleted.',
    'success'
  )
}, function(dismiss) {
  if (dismiss === 'cancel') {
    swal(
      'Cancelled',
      'Nothing has been deleted!',
      'error'
    )
  }
}).catch((error) => {
  console.log('error_does_not_reach_here', error);
})

1 个答案:

答案 0 :(得分:0)

这是我的代码的示例:

 swal({
                title: "Confirm",
                text: "¿Are you sure?",
                type: "warning",
                showCancelButton: true,
                confirmButtonText: 'Aceptar',
                cancelButtonText: 'Cancelar'
            }).then(function () {
             //If Press ok, send the data
                var arr = {
                    cuil: empDP.fd.Cuil,
                    cct: empDP.fd.Cct,
                    activity: empDP.fd.Activity,                   

                };
                Vue.http.post(empDP.globalurl + "/persondata/save", arr).then(function (response) {
                    swal('Data saved correctly', '', 'success');
                    empDP.clean();
                }, function (response) {
               //If Response return error
                    swal('Show a Text Error', '', 'error');
                });