警报消息不起作用后重定向

时间:2013-12-30 15:19:10

标签: javascript jquery

这是js文件>

的摘录
$('#btnYes').on('click', (function() {
var id = $('#myModal').data('id');
var usertype = $('#myModal').data('usert');

$.ajax({

  url: '{site_url()}admin/deleteUserFromList',
  type: 'POST',
  data: {id: id, userT: usertype},
  success: function(html){

    $('[data-id='+id+']').parents('tr').remove();
    $('#myModal').modal('hide');
    alert('usuario borrado');
    window.location.reload();
  }
});
 return false;

}));

正如您所看到的,从列表中删除用户后会有一条警告消息。

我想在按下警告消息后刷新页面,所以我添加了行>

window.location.reload();

但它不起作用,为什么会这样?我该如何解决?

我一直在尝试使用替代品

location.href = '....';

window.location = '/some/url';

但似乎没有任何效果!

这是在我的admin.php中,用于从数据库中删除用户的代码:

public function deleteUserFromList(){

    if ((isset($_POST['id']) && (isset($_POST['userT'])))){
        $rowId = $_POST['id'];
        $userType = $_POST['userT'];

        $result = array();

        if($userType == 'front'){
            $front = UserManager::getInstance()->getUser($rowId);
            UserManager::getInstance()->deleteItem($front);

        }else{
            $back = UserBackManager::getInstance()->getUser($rowId);
            UserBackManager::getInstance()->deleteItem($back);
        }
        $result["message"] = "Usuario eliminado";

        echo json_encode($result);
    }
}

2 个答案:

答案 0 :(得分:1)

要在浏览器中模拟重定向,请尝试:

Javascript方式:

window.location.replace("http://stackoverflow.com");

jQuery方式:

var url = "http://stackoverflow.com";    
$(location).attr('href',url);

试试这个并让我知道它对你有用。

修改 在ajax里面成功。尝试关闭模态窗口并尝试替换方法。

编辑2: 将这部分代码放在文档就绪块中并检查它是否被触发如果它被触发它意味着你的表单正在正确地重新加载。

$( window ).unload(function() {
  alert( "Bye now!" );
});

答案 1 :(得分:0)

阐述@ charlietfl的评论,你能尝试这样的事吗?

从ajax脚本返回计数并将其插入到您的页面中:

$('#btnYes').on('click', (function() {
  var id = $('#myModal').data('id');
  var usertype = $('#myModal').data('usert');

  $.ajax({

    url: '{site_url()}admin/deleteUserFromList',   // this returns the user count as data
    type: 'POST',
    data: {id: id, userT: usertype},
    success: function(data){

      $('[data-id='+id+']').parents('tr').remove();
      $('#countDisplayElement').text(data);  // insert new count into current page
      $('#myModal').modal('hide');
      alert('usuario borrado');
      window.location.reload();
    }
  });
 return false;

}));

这将消除完全刷新页面并使用起来更友好的需要。