【发布时间】:2017-02-17 20:12:15
【问题描述】:
我正在学习托管在 IIS/Windows 10 上的 AngularJS 1.5.8 + Laravel 5.3.17 + PHP 7,遵循 tutorial。
在向 Laravel 发送 HTTP AngularJS $resource.delete() 时,我收到一个错误:405 Method Not Allowed 和以下 Laravel 错误消息:
php artisan route:list 给了我以下路线表。我希望 DELETE 路由到 time.destroy。
在 IIS 上,我尝试将 PHP 设置为处理程序以接受所有 HTTP 动词无济于事。
IIS 请求过滤以明确允许 DELETE 也不起作用。
HTTP GET 和 PUT 动词可以正常工作。如何启用 DELETE 动词?
提前致谢!
【问题讨论】:
-
您是否有一个中间件正在更改请求的 HTTP 动词?
-
我刚学,上面的教程没有用到中间件。所以我相信这只是 Laravel 中的默认设置,如果有的话。
-
好的,您可以尝试将中间件添加到您的
routes.php以检查它是否被任何机会覆盖?Route::group(['middleware' => 'web', 'prefix' => 'api'], function() {... -
我使用 laravel 和 anjular.js,当我删除资源时,$http.delete("url") 效果很好。
-
我之前在 Apache 服务器上遇到过这个问题。基本上,浏览器每次在实际请求之前都会在“OPTIONS”标志下向服务器发送一个预检请求,因此请确保 IIS 服务器也接受该请求(默认情况下它接受 GET 和 POST)
标签: php angularjs laravel-5 iis-express http-status-code-405