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

时间:2011-06-14 03:38:16

标签: javascript jquery cakephp

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

(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 #function delete())

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

1 个答案:

答案 0 :(得分:1)

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

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