【发布时间】:2014-01-02 01:21:09
【问题描述】:
我对 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);
好的部分是当我单击删除按钮时,它会使用正确的 id 调用“rates/delete”,但是当“rates/delete”完成其工作时,会以某种方式进行另一个 AJAX 调用(我从未编码),请查看屏幕截图。
所以我的问题是:
为什么 Yii 会创建我从未创建过的第二个 ajax 调用?
如何避免第二次 ajax 调用?
编辑:
我尝试添加一个锚点,然后在单击事件中附加 ajax 调用,它会继续进行第二次调用。
【问题讨论】: