[英]Extra Ajax on CGridView on Yii
我对Yii很CGridView
,正在处理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);
好的部分是,当我单击删除按钮时,它将使用正确的ID调用“费率/删除”,但是当“费率/删除”完成工作时,将以某种方式进行另一个AJAX调用(我从未编码过) ),请检查屏幕截图。
所以我的问题是:
为什么Yii正在创建我从未创建过的第二个Ajax调用?
如何避免第二次ajax调用?
编辑:
我尝试添加锚,然后将ajax调用附加到click事件中,并且它继续发出第二个调用。
当您从网格中删除某些项目时,第一个ajax调用用于向服务器的删除请求,第二个请求用于在删除后重新创建网格。 使用这样的ajax网格视图时,我们无法避免第二次ajax调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.