我想通过帖子删除我的模型,但我总是得到无效的请求 这是我的看法
View
这是我在requestLayout()
<?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?'
)
);
?>
但我总是得到无效请求,我已经阅读了一些论坛,但我无法得到它。有人可以帮帮我吗?
答案 0 :(得分:0)
您正在使用CHtml::link
,这会生成一个html <a>
标记。当您点击<a>
时,您的浏览器会向服务器发送 HTTP GET请求(非POST请求)。因此,if(Yii::app()->request->isPostRequest)
始终为false
,因此您会看到无效的请求错误。您应该从操作中删除此条件。此外,$this->loadModel()->delete()
无效,因为loadModel
获取id作为参数。所以$this->loadModel($_GET['id'])->delete()
是正确的。
答案 1 :(得分:0)
使用以下代码
$this->loadModel(primarykey, 'TableName')->delete();
应该工作!
答案 2 :(得分:0)
在大多数情况下,您无法使用链接(<a>
)与POST
。相反,请使用<form>
这样的
<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>