繁体   English   中英

Yii上CGridView上的Extra Ajax

[英]Extra Ajax on CGridView on Yii

我对Yii很CGridView ,正在处理CGridView ,这给我带来了麻烦。

CGridViewrenderPartial视图中。

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'ratesGrid',
'dataProvider'=>rates::model()->searchSameProperty($propertyid),
'columns'=>array(
    'name',
    'from',
    'to',
    'price',
    array( 
    'header'=>'html',
    'type'=>'raw',
    'value'=>'\'
       <a href="#" class="deleteRate btn btn-danger" data-rateid="\'.$data->id.\'">Delete Rate</a>
       \'', 
    ),
),));

Yii::app()->clientScript->registerScript('ratesdeletion', '
$("#ratesProperty").on("click", ".deleteRate", function(e){
    e.preventDefault();
    $.ajax({
        "url":"'.CController::createUrl('rates/delete').'",

            "type":"POST",
            "data":{
                "id":$(this).data("rateid"),
            },
            "success":function(data){
                $.fn.yiiGridView.update("ratesGrid");
            },

    });
});
', CClientScript::POS_END);

好的部分是,当我单击删除按钮时,它将使用正确的ID调用“费率/删除”,但是当“费率/删除”完成工作时,将以某种方式进行另一个AJAX调用(我从未编码过) ),请检查屏幕截图。

WebDev工具上的“网络”选项卡

所以我的问题是:

  1. 为什么Yii正在创建我从未创建过的第二个Ajax调用?

  2. 如何避免第二次ajax调用?

编辑:

我尝试添加锚,然后将ajax调用附加到click事件中,并且它继续发出第二个调用。

当您从网格中删除某些项目时,第一个ajax调用用于向服务器的删除请求,第二个请求用于在删除后重新创建网格。 使用这样的ajax网格视图时,我们无法避免第二次ajax调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM