提交表单时出现Laravel错误:RouteCollection.php第218行中的MethodNotAllowedHttpException。这可能是什么原因造成的?

时间:2017-04-30 14:34:22

标签: php ajax laravel-5 laravel-5.2

在我的视图中有一个表单,在点击提交时,数据被带到ajax脚本,该脚本应该调用routes.php中post路由中指定的控制器。期望控制器处理接收的数据并将结果返回到视图。为什么在提交表单后会立即发生此错误,并且事情无法正常工作>

3 个答案:

答案 0 :(得分:1)

检查您的routes.php文件。确保您使用的方法与您允许的方法一致。

Here is the laravel documenation for routes

例如,如果您的请求是GET请求,则路由文件中的调用应如下所示:

Route::get('/test-get-url', function ()    {
    // Matches The "/test-get-url" URL using a GET method
});

对于帖子

Route::post('/test-post-url', function ()    {
    // Matches The "/test-post-url" URL using a POST method
});

答案 1 :(得分:1)

转到终端/ cmd ..无论您使用哪个,然后输入

php artisan route:list

这将列出您的所有路线,并检查您提交的路线。注意方法栏中使用的相应方法,并在提交表格时使用该方法。我假设它是PUT方法(最有可能的.Ex -

如果您使用简单的HTML代码,请使用method属性,例如 -

<form action="{{route='..'}}" method="PUT">

或者如果您正在使用表单助手,请使用 -

{!! Form::open($post, ['route' => ['..'], 'method' => 'PUT']) !!}

答案 2 :(得分:0)

转到route.php文件并检查

路线::得到(&#39; someroute&#39; [&#39;使用&#39; =&GT;&#39; somecontroller @ function_get&#39;&#39;如&#39; =&GT ;&#39; some_get&#39;]);     路线::交(&#39; someroute&#39; [&#39;使用&#39; =&GT;&#39; somecontroller @ funtion_post&#39;&#39;如&#39; =&GT;&# 39; some_post&#39;]);

请确保您使用(as)路线与您的路线不同以及您使用ajax的位置是否正确定义了您要发布表单数据的路线,其类型与您提及的相同路线和另外一件事检查你在代码中正确使用(;)

希望这会帮助您免费提出问题