通过POST删除模型时请求YII无效

通过POST删除模型时请求YII无效,yii,Yii,我想通过post删除我的模型,但我总是收到无效的请求 这是我的看法 <?php echo CHtml::link(CHtml::encode('Delete image'), array('gambar/delete', 'id' => $data->id), array( 'submit' => array('data/delete', 'id' => $data->id), 'class' => 'delete

我想通过post删除我的模型,但我总是收到无效的请求 这是我的看法

<?php
    echo CHtml::link(CHtml::encode('Delete image'), array('gambar/delete', 'id' => $data->id), array(
        'submit' => array('data/delete', 'id' => $data->id),
        'class' => 'delete', 'confirm' => 'This will remove the image. Are you sure?'
            )
    );
    ?>
但我总是收到无效的请求,我读过一些论坛,但我无法得到它。有人能帮我吗?

如果您使用的是CHtml::link,这将生成一个html标记。单击时,浏览器会向服务器发送HTTP GET requestnot POST请求。所以如果Ifii::app->request->isPostRequest始终为false,则会看到无效请求错误。您应该从操作中删除此条件。另外,$this->loadModel->delete无效,因为loadModel获取一个id作为参数。所以$this->loadModel$\u GET['id']->delete是正确的。

使用下面的代码

$this->loadModelprimarykey,'TableName'->删除


应该有用

在大多数情况下,您不能使用链接发布。相反,像这样使用

<form action="<?php echo $this->createUrl('/gambar/delete/'.$model->id);?>" method="post">
    <button 
        type="submit"
        name="id"
        value="<?php echo $model->id?>"
        onclick="if (!confirm('Are you sure to delete this image?')) return false;">
        <i class="icon-white icon-trash"></i> Delete
    </button>
</form>

我想要的是使用POST,但是你给出的是如何使用GETt,你知道如何使用POST吗?没有任何方法可以使用POST的链接。邮寄是为了表格。
<form action="<?php echo $this->createUrl('/gambar/delete/'.$model->id);?>" method="post">
    <button 
        type="submit"
        name="id"
        value="<?php echo $model->id?>"
        onclick="if (!confirm('Are you sure to delete this image?')) return false;">
        <i class="icon-white icon-trash"></i> Delete
    </button>
</form>