2

フォームで POST メソッドを使用して値を送信しました。ここに私のフォームコードがあります:

<form action="{{ url('/') }}" method="POST">
    <input type="hidden" name="value1" value="one" />
    <input type="hidden" name="value2" value="two" />

    <input type="submit" value="SEND!" />
</form>

および router.php コード:

Route::get('/', function()
{
    return View::make('index');
});

Route::post('/', function()
{
        $data = Input::all();
        var_dump($data);
});

SENDボタンを押すたびにインデックスファイルを表示するかどうか。getメソッドをコメントアウトしようとしたとき。これでMethodNotAllowedHttpExceptionエラーが表示されます。エラーメッセージでは、リクエストメソッドがGETであることを示しています

ここに画像の説明を入力

私は今どうすればいい?それはバグですか?それとも私のスクリプトに何か問題がありますか?

4

2 に答える 2

0

どのバージョンの Laravel を使用していますか? Laravel v4 には、CSRF (クロス サイト リクエスト フォージェリ) 保護が組み込まれています。代わりにメソッドを使用する場合は_token、Laravel に隠しフィールドを生成させて、トークン フィールドを追加する必要があります。Laravel は自動的にその _token フィールドを探し、見つからない場合、または正しいトークンでない場合、例外をスローします。Form::token()Form::open()

編集: CSRF フィルターの詳細については、app/ ディレクトリの Filters.php を確認してください。

于 2013-11-12T19:35:31.600 に答える