错误400无效的请求谊删除一条记录(Error 400 Invalid request YII fo

2019-07-31 02:47发布

我试图删除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中的一种形式。

Answer 1:

发生这种情况,因为它不是一个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?'
  )
);


Answer 2:

与豆腐默认会是这样

/**
 * @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 +删除”,



Answer 3:

根据我的经验,这造成的jQuery后装一些JavaScript文件。 如果您拥有jQuery的链接,文档的末尾,请删除它。



Answer 4:

我觉得你的actionDelete()包含抛出这个代码,我想这取决于AJAX呼叫。 检查相关actionDelete()



文章来源: Error 400 Invalid request YII for deleting a record