Laravel API,如何接受DELETE方法

时间:2018-07-18 08:05:40

标签: laravel api http-delete

我需要使用我的API删除一些实体,创建我的控制器,我的方法和路由。它们工作正常,所有的get和put / patch方法均能正常工作,但是使用我拥有的Angular应用程序,我删除了该错误并抛出了错误,这是错误的地方:

DELETE (Method Not Allowed)

在我的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');

有人知道为什么它不起作用吗?

编辑:

这是我的路线(是的,方法在好的控制器中):

enter image description here

3 个答案:

答案 0 :(得分:1)

发布到“删除” URL时,请确保发布请求中包含以下数据:

_method=delete

这就像一个输入字段,例如:

<input type="hidden" name="_method" value="delete">

答案 1 :(得分:0)

尝试此软件包CORS Middleware for Laravel 5

答案 2 :(得分:0)

不允许的方法是HTTPStatus代码405,它通常会转换为缺少与该端点匹配的HTTPVerb

编辑:另外,选中this

例如

所有这些都应该意味着不同的事情,并且做不同的事情。 如果您向最后一个网址发出请求,但该网址未注册(在您的路线文件或放置它们的任何位置),则返回的错误是因为它与名称匹配但与动词不匹配

POST   url.com/user

GET    url.com/user

PUT    url.com/user

PATCH  url.com/user

DELETE url.com/user