Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii上CGridView上的额外Ajax_Php_Ajax_Yii_Cgridview - Fatal编程技术网

Php Yii上CGridView上的额外Ajax

Php Yii上CGridView上的额外Ajax,php,ajax,yii,cgridview,Php,Ajax,Yii,Cgridview,我对Yii很陌生,我正在处理给我带来麻烦的CGridView 此CGridView位于renderPartial视图中 $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'ratesGrid', 'dataProvider'=>rates::model()->searchSameProperty($propertyid), 'columns'=>array( 'name', 'from'

我对Yii很陌生,我正在处理给我带来麻烦的
CGridView

CGridView
位于
renderPartial
视图中

$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);
$this->widget('zii.widgets.grid.CGridView',数组(
'id'=>'ratesGrid',
“dataProvider”=>rates::model()->searchSameProperty($propertyid),
'列'=>数组(
“姓名”,
“从”,
"到",,
"价格",,
数组(
'header'=>'html',
'type'=>'raw',
'值'=>'\'
\'', 
),
),));
Yii::app()->clientScript->registerScript('ratesdeletion','
$(“#ratesProperty”)。在(“单击”,“删除速率”,函数(e)上{
e、 预防默认值();
$.ajax({
“url”:“'.CController::createUrl('rates/delete')。”,
“类型”:“职位”,
“数据”:{
“id”:$(此).data(“rateid”),
},
“成功”:功能(数据){
$.fn.yiiGridView.update(“ratesGrid”);
},
});
});
,CClientScript::POS_END);
好的方面是,当我单击delete按钮时,它使用正确的id调用“rates/delete”,但是当“rates/delete”完成其工作时,不知何故又调用了一个AJAX(我从未编写过代码),请检查屏幕截图

因此,我的问题是:

  • 为什么Yii要创建我从未创建过的第二个ajax调用

  • 如何避免第二次ajax调用

  • 编辑:


    我尝试添加一个锚,然后在单击事件中附加ajax调用,它会继续进行第二次调用。

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

    非常感谢您的快速回答,所以我应该将其更改为自定义按钮?