2011-06-14 61 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()手動清除緩存,看看是否有幫助。