未捕获承诺TypeError:使用sweetalert进行更新确认时,结果为null

问题描述

我有一个更新链接,需要更新它才能更新数据。我已经在codeigniter中使用sweetalert构建了。

我想要的流程是,如果用户单击“确定”,它将转到控制器以获取更新数据,并且如果用户单击“ cancel”,它将没有任何作用。

但是,在用户单击Ok之后,数据不会更新。当我执行console.log时,单击Uncaught (in promise) TypeError: result is null按钮后,显示类似cancel错误

这是HTML代码

 <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

 <a title="Accept" href="<?= base_url(); ?>ControllerName/accept/<?= $j; ?>?id=<?= $id; ?>" onclick="confirmation(event)">
       <button class="btn btn-blue1"><span class="fa fa-check"></span></button>
  </a>

这是js代码

 function confirmation(event) {
    event.preventDefault();
    var urlToRedirect = event.currentTarget.getAttribute('href'); 
    console.log(urlToRedirect); // verify if this is the right URL
    swal({
      text: "Are you sure you want to updated data ? ",icon: "warning",buttons: true,dangerMode: true,}).then((result) => {
      if (result.isConfirmed) {
        window.location.href=urlToRedirect;
      }
      else
      {
        Swal.fire(
            'Deleted!','Your file has been deleted.','success'
           )
      }
   });
}

这是控制器代码

$id = $this->input->get('id');
$data = array(
        'status'        => 'Accepted','updated_by'    => $this->session->userdata('user_id')
    );

$result = $this->Model->accept($data,$id);

这是型号代码

function accept($data,$id)
{
    $this->db->where('id',$id);
    if($this->db->update("schedule",$data)){
        return true;
    }else{
        return false;
    }
}

您知道如何正确运行它吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...