Yii在CGridview删除后重新加载页面

时间:2015-06-16 10:15:50

标签: php ajax yii

好的,这很令人沮丧。

我只想做的是在CGridView删除操作后重新加载页面。 由于删除是通过VIA Ajax执行的,我似乎无法重新加载页面。

我需要这样做,因为我在页面上有其他数据依赖于我要删除的数据。

我在视图中尝试过

'class'=>'CButtonColumn',
'header'=>'Delete',
'template'=>'{delete}',
'buttons'=>array(
    'delete'=>array(
        'success'=>'function(){
            window.location = location.href;
        }',
    ),
),

同样在删除控制器中

echo CHtml::script("
    window.location.reload();
");
Yii::app()->end();          

任何帮助表示感谢。

此致

1 个答案:

答案 0 :(得分:2)

您可以使用CButtonColumn类中的afterDelete参数(属性):

'class'=>'CButtonColumn',
'header'=>'Delete',
'template'=>'{delete}',
'afterDelete'=>'function(link,success,data){
    if(success) { // if ajax call was successful !!!
        if(data == SUCCESS_TEXT) {  // SUCCESS_TEXT the text which you output in your delete action on success
            window.location.reload();
        } else {
            alert("Error! not deleted.");
        }
    } else {
        alert("Error! delete request failed, see console for mor info");
        console.log(data);
    }
}',