尝试使用Yii Rest api
删除记录时HTTP DELETE mothod无法正常工作
我的网址路由
array('users/list', 'pattern'=>'users/<model:\w+>/<id:\d+>', 'verb'=>'DELETE'),
当我要求时
http://localhost/api/users/delete?id=1
在休息客户端
中的DELETE方法中它说there is no method like delete
所以我创建了一个类似下面的动作
public function actionDelete()
{
switch($_GET['action'])
{
case 'delete': // {{{
$id = $_GET['id'];
$this->DeleteUser($id);
break; // }}}
default:
break;
}
}
现在它说未定义索引:模型
我的理解是,如果我们使用HTTP DELETE方法,我们应该有一个名为actionDelete的动作吗?
如何解决这个问题?
答案 0 :(得分:0)
动词=&gt; &#39; DELETE&#39;表示请求方法是删除。
您应该可以使用以下javascript调用您的API:
$.ajax({
url: 'index.php/api/users/1',
type: 'DELETE',
async: false,
success: function(result) {
alert('Deleted');
},
error: function(result) {
alert('Could not delete!');
}
});
您是否有标准过滤器有效?如果是,您应该删除&#34; postOnly + delete&#34;。
/**
* @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
);
}