AngularJS / Laravel DELETE(不允许使用方法)

时间:2018-07-17 10:38:55

标签: angularjs laravel api

我正在尝试使用我的Api删除对象,我正在使用矩形,所以这是我如何处理请求:

function destroy( resource )
{
    clear( this.cache );
    return this.restangular.one(this.route, resource.uuid).remove();
}

TmService.destroy(tmToDelete.id)

请求很好,其他所有请求都可以工作(获取请求),但是我有一个错误DELETE ...(不允许使用方法)。

我认为这个问题来自我的标题,但是在Api中,我已经输入了:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods:  POST, GET, OPTIONS, PUT, PATCH, DELETE');
header('Access-Control-Allow-Headers:  Content-Type, X-Auth-Token, Origin, Authorization, X-HTTP-Method-Override');

我该怎么办?

编辑:

这是我的路线:

Route::resource('/tm', 'TmController');

使用手工艺路线:列表:

enter image description here

1 个答案:

答案 0 :(得分:0)

我以前也遇到过此问题。实际上,这根本不是laravel或请求机制的问题,而是客户端(即浏览器)的问题。简单的技巧是您调用post方法,但其中包含额外的formParams。

<input type="hidden" name="_method" value="DELETE" />

现在laravel将了解请求类型为DELETE

已更新*

我实际上不知道您是如何实现矩形的。但是,以下是传递额外参数的简单方法。 Laravel在发现_method属性和Delete值时将以下请求理解为删除请求:

let data = {_method: 'DELETE'}
TmService.post(data);