【发布时间】:2015-09-11 03:01:05
【问题描述】:
我正在尝试使用 div 提交 POST 表单,但我收到了这个 MethodNotAllowedHttpException 消息。
HTML
<form action="{{ url('upload') }}" method="POST" name="form" >
...
<div onClick="document.forms.form.submit();">
<i class="icon upload"></i>
{{trans('gui.upload')}}
</div>
</form>
routes.php
Route::group(
[
'prefix' => LaravelLocalization::setLocale(),
'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]
],
function()
{
Route::post('upload', ['middleware' => 'admin', 'uses'=>'DatabaseController@upload']);
});
错误信息
MethodNotAllowedHttpException in compiled.php line 7717:
in compiled.php line 7717
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in compiled.php line 7713
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in compiled.php line 7691
at RouteCollection->match(object(Request)) in compiled.php line 6965
...
如果我尝试使用 Route::any,它会起作用
【问题讨论】:
-
你到底遇到了什么错误?
-
compiled.php 第 7717 行中的 MethodNotAllowedHttpException
-
检查客户端(在网络中)发送的请求,可能是错误的,也可能是中间件将其转换为
GET。 -
我刚查了一下,上面写着方法 POST :/
-
如果我尝试使用 Route::any 就可以了