【问题标题】:laravel post route not workinglaravel 发布路线不起作用
【发布时间】:2018-02-13 00:39:06
【问题描述】:

我在路由文件夹内的 web.php 中有他的代码:

Route::post('/benice', function(\Illuminate\Http\Request $request)
{
    if(isset($request['action']) && $request['name']){
        if(strlen($request['name']) >0){
            return view('actions.nice', ['action' => $request['action'], 'name'=>$request['name']]);
        }
        return redirect()->back();
    }
    return redirect()->back();
});

这是在视图文件夹内的 home.blade.php 中:

 <form action="{{ route('benice') }}" method="post">
        <label for="select-action">Iwant to ...</label>
        <select id="select-action" name="action">
            <option value="greet">greet</option>
            <option value="hug">hug</option>
            <option value="kiss">kiss</option>
        </select>
        <input type="text" name="name"/>
        <button type="submit" class="btn btn-primary btn-block">Do an action</button>
        <input type="hidden" value="{{ Session::token() }}" name="_token">
    </form>

错误是:

Route [benice] not defined. (View: C:\wamp64\www\testLaravel\resources\views\home.blade.php)

任何帮助将不胜感激,我目前是 laravel 的新手,仍在学习,谢谢

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    路由名称与路由路径不同。

    像这样将名称添加到路由中:

    Route::post('/benice', function(\Illuminate\Http\Request $request) {
        if(isset($request['action']) && $request['name']) {
            if (strlen($request['name']) > 0) {
                return view('actions.nice', ['action' => $request['action'], 'name' => $request['name']]);
            }
            return redirect()->back();
        }
        return redirect()->back();
    })->name('benice');
    

    【讨论】:

      【解决方案2】:

      从你的路线起点移除/

      Route::post('benice', ...
      

      【讨论】:

        猜你喜欢
        • 2017-10-02
        • 2013-05-03
        • 2014-09-08
        • 2015-03-18
        • 2013-01-26
        相关资源
        最近更新 更多