2011-06-14 47 views
2

您好我正在开发数据删除页面复选框和按钮。删除后,我想显示消息或者交易成功与否。大多数情况下邮件显示正确,但有时候页面重新加载不会发生,并且只有手动重新加载才会显示该邮件。 现在,如果不确定页面是否重新加载,是否有任何其他方式显示来自控制器的消息? 下面的代码:CakePHP&JQuery,location.reload有时不工作

(index.ctp)

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#btn").click(function() { 
     var ids = ''; 
     $('input[type="checkbox"]').each(function(){ 
      if(this.checked){ 
       ids = ids.concat(this.id).concat(','); 
      }else{ 
       jAlert("Please choose items to delete"); 
      } 
     }); 
     if (ids != ''){ 
      jConfirm('Delete?', 'Confirm',function(r){ 
       if(r==true){ 
        ht = $.ajax({ 
         url: 'items/delete/'.concat(ids), 
         type: "POST", 
         contentType: "application/json; charset=utf-8", 
        }); 
        location.reload(true); 
       } 

      }); 
     } 
    }); 
}); 
</script> 

(Controller.php这样#函数删除())

$this->Session->setFlash(__('Deleted!, true)); 
$this->redirect(array('action'=>'index')); 
+0

检查'ids'的值使用萤火虫或警报 – Ibu 2011-06-14 03:46:40

回答

1

CakePHP的会话闪光灯通常是非常可靠的。

也许你的浏览器不能可靠地进行硬刷新location.reload(true)。尝试window.location = window.location.href + "?nocache=" + new Date().getTime()手动清除缓存,看看是否有帮助。