2017-03-17 81 views
0

我知道这是重复的问题。仍然我无法纠正这个问题,所以任何人都可以帮忙吗?methodnotallowedhttpexception在routecollection.php行218

routes.php文件

Route::post('/form-submit',[ 
    'uses' => '[email protected]', 
    'as' => 'f.submit', 
]); 

UserController.php

public function formSubmit() #form-submit 
{ 
    echo"Form Submit Method"; 
} 

test_view.php

@extends('Layout.master') 
@section('Content') 
{!! Form::open([ 
     'route' => 'f.submit', 'method' => 'post' 
]) !!} 
    {!! Form::test('username') !!} 
    {!! Form::submit('submit')!!} 
{!! Form::close() !!} 
@endsection 

如果我使用此代码get方法。然后直接显示Form Submit Method,如果我使用post方法,则显示以上错误

+0

我从来没有用过Laravel,所以你可能会做一些先进的事情。无论如何,根据https://laravel.com/docs/5.4/routing我找不到任何将数组传递给第二个参数的示例。第二个参数应该是回调函数,所以您需要一个匿名函数或范围内的可访问函数的名称。 – MonkeyZeus

+0

指定你正在使用哪个Laravel版本是最符合你的... – MonkeyZeus

+0

'Route :: post('/ form-submit', 'UserController @formSubmit' );' 我也试过这个即使使用匿名功能。 –

回答

0

我觉得

//change '/form-submit' to 'f.submit' 
    Route::post('/f.submit',[ 
     'uses' => '[email protected]', 
     'as' => 'f.submit', 
    ]) 

,并添加CSRF令牌也

+0

post方法不能正常显示上述错误。如果我使用get方法,那么它直接向我展示“Form Submit Method”。我也试过我们的代码,但它是一样的。 –

+0

@Code Demon你能给我任何解决方案吗? –

0

您需要在表单中传递一个csrf令牌。

+0

还是一样。 –

0

我得到直接“表单提交方法”,而不是它应该打开test_view形式。我有使用POST或GET方法的解决方案。

Route::post('/form-submit',[' 
     'uses' => '[email protected]' 
     'as' => 'f.submit' 
    ']}); 

但是POST方法仍然不起作用。

相关问题