【问题标题】:Laravel: How to redirect after controller method executionLaravel:控制器方法执行后如何重定向
【发布时间】:2017-08-21 00:35:12
【问题描述】:

web.php:

Route::post('caption/{id}/delete', 'DetailController@deleteCaption');

DetailController.php:

public function deleteCaption(Request $request, $id) {
    $caption = Caption::findOrFail($id);
    $caption->delete(); //doesn't delete permanently

    return response(204);
}

admin.blade.php:

<p value='{{$caption->id}}'>{{$caption->content}}</p>
<form action="caption/{{$caption->id}}/delete" method="post">
<button type="submit">Delete caption</button>
</form> 
<form action="caption/{{$caption->id}}/approve" method="post">
<button type="submit">Accept caption</button>
</form>     

我想让它在我删除图像后,将用户重定向回位于 localhost:8000/admin 的管理页面。

我该怎么做?我无法理解文档。

【问题讨论】:

  • return redirect('admin');return redirect('path_to_admin');
  • 查看倒数第二行。

标签: php laravel redirect blade


【解决方案1】:

要重定向回来使用

return redirect()->back();

要重定向到特定的路线使用

return return redirect()->route('route-name');

【讨论】:

    【解决方案2】:

    你可以像这样重定向

    public function deleteCaption(Request $request, $id) {
        $caption = Caption::findOrFail($id);
        $caption->delete(); //doesn't delete permanently
    
        return redirect()->to('link/to/anywhere');
    }
    


    你可以这样重定向

    return redirect()->back();
    

    到你最后的状态。

    return route('yourRouteName');
    //if there's parameters
    return route('yourRouteName', ['id' => 1]);
    

    【讨论】:

      【解决方案3】:

      您可以简单地重定向到您在 web.php 中定义的路由:

      public function deleteCaption(Request $request, $id) {
          $caption = Caption::findOrFail($id);
          $caption->delete(); //doesn't delete permanently
      
          return redirect('admin');
      }
      

      https://laravel.com/docs/5.4/responses#redirects

      查看路由和刀片文档也可能会有所帮助。

      https://laravel.com/docs/5.4/routing

      https://laravel.com/docs/5.4/blade

      【讨论】:

        【解决方案4】:

        因为您想返回到同一页面。你可以使用 Laravel 的 back 函数。

         return back();
        

        将用户重定向回它来自的页面。

        【讨论】:

          猜你喜欢
          • 2016-05-31
          • 2015-04-11
          • 1970-01-01
          • 2013-10-21
          • 2016-09-27
          • 1970-01-01
          • 2013-11-30
          • 1970-01-01
          • 2010-11-15
          相关资源
          最近更新 更多