Return 到上一页 - Laravel 8 项目
Return To Previous Page - Laravel 8 Project
我有一个使用分页器查看类别的仪表板,因此我的 url 通常看起来像:http://127.0.0.1:8000/categories?page=1
在我的 category.view
页面上。
当我点击 Edit
时,它会将我带到类别编辑页面。
在这个页面上我有一个 go back to categories
按钮。
如果编辑类别页面不是 refreshed/reloaded,那么 View Categories
按钮可以正常工作。
这是我的 View Categories
按钮的代码
<a href="{{ url()->previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
我遇到的问题是,如果我要刷新 Edit Category
页面或保存一些编辑,此 View Categories
按钮将停止按预期工作,因为当我单击它时它只会刷新并停留在相同的 Edit Category
页。
我知道这是因为在我的浏览器历史记录中,一旦重新加载 Edit Category
页面,它就会成为历史中的最后一页,因此理所当然地成为加载的页面。
如何让我的 View Categories
按钮在 reloading/refreshing 当前 Edit Category
页面之后返回到最后一个分页页面?
我用过:<a href="{{ url()->previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
<a href="{{ URL::previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
<a href="history.back()" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
和 none 按预期工作。
我可以让 View Categories
按钮返回类别页面,但问题是我必须确保它落在上次访问的 http://127.0.0.1:8000/categories?page=NUMBER
请注意:这不是控制器、组件、路由或 web.php 问题。所有这些都很好。我只想让我的 Go Back
按钮正常工作。
我遇到了一些类似的问题,并通过使用这个解决了它:
return redirect()->back();
但是,由于您没有 post 任何代码,所以很难告诉您具体的事情。
不确定您的具体情况,但您可以尝试以下代码,因为您已经知道使用正确参数的确切网页:
Route::get('/view-category/{id}',[CategoryController::class,'view'])->name('view-category')
{{ route('view-category',[id]) }}
这非常有用Laravel Session
public function index(Request $request){
$categories = Category::latest()->paginate(5);
//the following snippet creates persistent session variables
$request->session()->put('page',$categories->currentPage());
return view('orders.view',compact('orders'));
}
还更改了 View Categories
按钮:
<a href="{{ url()->previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
为此:
<a href="{{ Session::has('page') ? '/categories?page=' . Session::get('page') : '/categories' }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
此按钮首先测试 $_SESSION['page']
是否已设置,如果已设置,则单击它会将最后一个已知值分配给 ?page=
,作为额外的预防措施,如果由于某种原因找不到会话值按钮将重定向回 category.view
,这是类别登录页面。
这正是我想要实现的目标,我惊讶地发现不存在任何本机或内置方法,因为我检查了大多数 public 论坛并重新检查了 Laravel Doc并没有找到我要找的东西。
也许问题不够清楚,但我确信我已经提供了足够的 material 来清楚地描述我想要实现的目标。
我有一个使用分页器查看类别的仪表板,因此我的 url 通常看起来像:http://127.0.0.1:8000/categories?page=1
在我的 category.view
页面上。
当我点击 Edit
时,它会将我带到类别编辑页面。
在这个页面上我有一个 go back to categories
按钮。
如果编辑类别页面不是 refreshed/reloaded,那么 View Categories
按钮可以正常工作。
这是我的 View Categories
按钮的代码
<a href="{{ url()->previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
我遇到的问题是,如果我要刷新 Edit Category
页面或保存一些编辑,此 View Categories
按钮将停止按预期工作,因为当我单击它时它只会刷新并停留在相同的 Edit Category
页。
我知道这是因为在我的浏览器历史记录中,一旦重新加载 Edit Category
页面,它就会成为历史中的最后一页,因此理所当然地成为加载的页面。
如何让我的 View Categories
按钮在 reloading/refreshing 当前 Edit Category
页面之后返回到最后一个分页页面?
我用过:<a href="{{ url()->previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
<a href="{{ URL::previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
<a href="history.back()" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
和 none 按预期工作。
我可以让 View Categories
按钮返回类别页面,但问题是我必须确保它落在上次访问的 http://127.0.0.1:8000/categories?page=NUMBER
请注意:这不是控制器、组件、路由或 web.php 问题。所有这些都很好。我只想让我的 Go Back
按钮正常工作。
我遇到了一些类似的问题,并通过使用这个解决了它:
return redirect()->back();
但是,由于您没有 post 任何代码,所以很难告诉您具体的事情。
不确定您的具体情况,但您可以尝试以下代码,因为您已经知道使用正确参数的确切网页:
Route::get('/view-category/{id}',[CategoryController::class,'view'])->name('view-category')
{{ route('view-category',[id]) }}
这非常有用Laravel Session
public function index(Request $request){
$categories = Category::latest()->paginate(5);
//the following snippet creates persistent session variables
$request->session()->put('page',$categories->currentPage());
return view('orders.view',compact('orders'));
}
还更改了 View Categories
按钮:
<a href="{{ url()->previous() }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
为此:
<a href="{{ Session::has('page') ? '/categories?page=' . Session::get('page') : '/categories' }}" class="btn btn-primary"><i class="material-icons">arrow_back</i> View Categories</a>
此按钮首先测试 $_SESSION['page']
是否已设置,如果已设置,则单击它会将最后一个已知值分配给 ?page=
,作为额外的预防措施,如果由于某种原因找不到会话值按钮将重定向回 category.view
,这是类别登录页面。
这正是我想要实现的目标,我惊讶地发现不存在任何本机或内置方法,因为我检查了大多数 public 论坛并重新检查了 Laravel Doc并没有找到我要找的东西。 也许问题不够清楚,但我确信我已经提供了足够的 material 来清楚地描述我想要实现的目标。