0
錯誤400,我有以下部件:Yii的1.1.x版本:CbuttonColumn {}刪除在CGridView返回使用POST
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'feast-days-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'day',
'id',
array(
'class'=>'CButtonColumn',
'template'=>'{delete}',
),
),
));
過濾器:
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
'postOnly + delete', // we only allow deletion via POST request
);
}
規則:
public function accessRules()
{
return array(
array('allow',
'actions' => array('index','view','create', 'admin', 'delete', 'update'),
'roles' => array('master'),
),
array('deny', // deny all users
'users' => array('*'),
),
);
}
刪除操作:
public function actionDelete($id)
{
FeastDays::model()->deleteAllByAttributes(array('id'=>$id));
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_GET['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
我使用的actionDelete是無限的,看起來它從來沒有真正達到它。首先,我沒有獨特的ID-s,只有幾天,我給模型提供了ID-s,因爲我認爲這可能會導致一個問題,即將日期用作函數中的屬性,但結果相同。
我在尋找很多關於這個問題的信息,大多數人都有一些.js文件在jQuery之前加載的問題,但是在我的webapp中,jQuery首先加載。 別人的問題是,ajax使用GET而不是POST,但我檢查了Firebug,我的請求使用POST。我甚至禁用了ajax,但是如果沒有它,我仍然會得到錯誤400。
請幫幫我,我迷路了。