【发布时间】:2019-07-13 15:47:41
【问题描述】:
我在在线服务器上运行时出现 MethodNotAllowedHttpException,但在本地服务器上运行良好。
PHP版本相同,使用POST方式。 除了这个之外,其他 POST 方法都运行良好。
关于blade.php
<form action="{{ route('update.product') }}" method="POST" enctype="multipart/form-data" class="form-horizontal js-form">
关于路线/web.php
Route::post('/updateProduct', [
'uses' => 'AdminController@updateProducts',
'as' => 'update.product'
]);
更新:
在我将路线更改为“获取”之后
Route::get('/updateProduct', [
'uses' => 'AdminController@updateProducts',
'as' => 'update.product'
]);
它到达了 updateProducts 函数。
但当然没有要处理的数据。那么,为什么我的 post 方法表单发送了 get 方法?在浏览器开发者工具上我有 POST 吗?
但在我的本地服务器上运行良好只有在在线服务器上我遇到了这个问题。
【问题讨论】:
-
检查有没有类似名称的方法
update.product -
检查任何缓存写入权限。此错误常见于 No route match 导致。
-
您的浏览器开发工具显示什么? POST 是否真的在发生,并且指向正确的 URL?表格中是否包含任何method spoofing?
-
嗨@Shibon,没有类似名称的方法
-
嗨@daremachine,如何查看缓存的写入权限?