2017-03-17 82 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方法仍然不起作用。

相關問題