“删除”后的ajaxlink刷新窗口

时间:2015-03-22 15:01:11

标签: ajax yii csrf

Yii:1.1.15

我的视图中有一个列表,每行后面都有一个ajaxLink来删除该行。它可以工作,但浏览器不会自动刷新...使用STRG-R刷新并删除行消失。 我的代码:

echo CHtml::ajaxLink('X',
  Yii::app()->createUrl('forumkommentar/delete', array("id" => $kommentar->id)), array(
   'type' => 'POST',
   'data' => array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken),
//       'data' => 'js:{"data":' . $kommentar->id . '}',
//       'success' => 'js:function(string){ document.getElementById("' . $kommentar->id . '").remove(); }'
), array(
   'class' => 'btn btn-danger small-btn',
   'confirm' => 'Are you sure?', //Confirmation
));

我认为我需要上面两条注释行来刷新窗口 - 但它不起作用。

我的问题:

  1. 如何合并两个"数据" -lines? (第4和第5行)
  2. 我的代码有什么问题 - 或者你会怎么做?

1 个答案:

答案 0 :(得分:0)

首先,您正在使用POST类型发出ajax请求,因此您无法使用网址参数,因为网址参数为GET个参数。因此,我认为这可能有所帮助:

echo CHtml::ajaxLink('X',
   Yii::app()->createUrl('forumkommentar/delete'), array(
  'type' => 'POST',
  'data' => array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken, "kommentar" => $kommentar->id),
   //'success' => 'js:function(string){ document.getElementById("' . $kommentar->id . '").remove(); }'
  ), array(
  'class' => 'btn btn-danger small-btn',
  'confirm' => 'Are you sure?', //Confirmation
));

现在,您可以访问$_POST['kommentar'] actionDelete()中的ForumkommentarController