Laravel在加载页面时执行POST路由

时间:2016-04-19 01:42:21

标签: php laravel laravel-4

所以我在首页上有一个表格:

{{ Form::open(array('url' => URL::to('', array(), true))) }}
        <p>
            {{Form::label('author') }}
            {{Form::text('author') }}
        </p>
        <p>
            {{Form::label('title') }}
            {{Form::text('title') }}
        </p>
        <p>
            {{Form::label('message') }}
            {{Form::text('message') }}
        </p>
        <p>
            {{ Form::submit() }}
        </p>
{{ Form::close() }}

然后这些是我的路线:

Route::get('/', function()
{
    /* unrelated stuff here */
});

Route::post('/', function()
{
    /* testing */
    print_r("DONE!");
    exit;
});

所以我基本上试图测试我的表单提交是否有效。它并没有。出于某种原因,一旦我加载首页而不是提交表单时,就会执行POST方法。为什么这样,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您的表单网址应指定为发布到 / -

{{ Form::open(array('url' => '/')) }}

为了重定向回主页,你应该修改你的帖子方法 -

Route::post('/', function()
{
    /* testing */
    print_r("DONE!");
    return Redirect::to('/');
});

Here是重定向的文档。

答案 1 :(得分:0)

我建议你使用dirrefent路线:

{{ Form::open(array('url' => URL::to('/submitForm', array(), true))) }}

然后:

Route::post('/submitForm', function()
{
    /* testing */
    print_r("DONE!");
    return redirect()->route('/');
});