我试图删除Yii的记录,这将引发错误400,请不要再重复这个请求。 它检查变量后,我的控制文件有
if(Yii::app()->request->isPostRequest)
当我赞同我的帖子变量它是空白,而$ _GET有我想要删除的ID,我查看文件的样子,
echo CHtml::link(CHtml::encode('Delete image'), array('image/delete', 'id'=>$image->id), array('class' => 'delete','confirm'=>'This will remove the image. Are you sure?'));
在访问规则已经删除对身份验证的用户,这是正确的。 有*也尝试过。 我也尝试发送它作为一个隐藏的变量,但没有好。
无法弄清楚,我应该如何发布Yii中的一种形式。
发生这种情况,因为它不是一个POST请求。 CHtml::link
提供了一个方法,通过它可以使用POST方法,而不是得到。 这需要你使用submit
的属性clientChange
,在你htmlOptions
。
有点像这样:
echo CHtml::link(CHtml::encode('Delete image'), array('image/delete', 'id'=>$image->id),
array(
'submit'=>array('image/delete', 'id'=>$image->id),
'class' => 'delete','confirm'=>'This will remove the image. Are you sure?'
)
);
与豆腐默认会是这样
/**
* @return array action filters
*/
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
'postOnly + delete', // we only allow deletion via POST request
);
}
删除操作只能通过POST访问; 你可以检查一下。
所以,你需要删除这条线与您合作“postOnly +删除”,
根据我的经验,这造成的jQuery后装一些JavaScript文件。 如果您拥有jQuery的链接,文档的末尾,请删除它。
我觉得你的actionDelete()包含抛出这个代码,我想这取决于AJAX呼叫。 检查相关actionDelete()