[英]Laravel: How to redirect after controller method execution
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 的管理页面。
我怎样才能做到这一点? 文档对我来说是无法理解的。
你可以像重定向一样
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]);
您可以简单地重定向到您在 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
检查路由和刀片文档也可能有所帮助。
由于您想返回到同一页面。 你可以使用 Laravel 的 back 函数。
return back();
将用户重定向回它来自的页面。
重定向回使用
return redirect()->back();
重定向到特定路由使用
return return redirect()->route('route-name');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.