CakePHP和JQuery,location.reload有时不起作用

嗨我正在开发带复选框和按钮的数据删除页面。 删除后,我想显示交易成功与否的消息。 大多数情况下,消息显示正确,但有时页面重新加载不会发生,并且在手动重新加载之前消息不会显示。 现在,如果不确定页面是否重新加载,是否还有其他方法可以显示来自控制器的消息? 这是代码:

(index.ctp)

 $(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); } }); } }); });  

(controller.php #function delete())

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

CakePHP的会话闪存通常非常可靠。

也许您的浏览器无法使用location.reload(true)进行硬刷新location.reload(true) 。 尝试使用window.location = window.location.href + "?nocache=" + new Date().getTime()手动清除缓存,看看是否有帮助。