我有一个包含不同数据选项卡的表单.选项卡由查询字符串激活.保存提交的表单的内容后,我需要重定向回它以使用查询数据显示相应的选项卡.怎么办?
目前我正在使用它进行重定向:
return Redirect::back()->withErrors($validation);
Run Code Online (Sandbox Code Playgroud)
但即使没有在该选项卡上进行任何更改,这也会返回到第一个选项卡.我看到了类似的东西
return Redirect::back()->withErrors($validation)->withQuery('tab'=>'info');
Run Code Online (Sandbox Code Playgroud)
但那没用.有什么建议?
这可能不是最佳实践,但我已经使用它来L5.8使用查询字符串重定向回来,并且它按预期工作。
# Clear previous url from query string
$previousUrl = strtok(url()->previous(), '?');
return redirect()->to(
$previousUrl . '?' . http_build_query(['foo' => 'bar'])
);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
如果您正在使用Redirect::to()那么很简单。
return Redirect::to('route_name?q='.$append_data)
Run Code Online (Sandbox Code Playgroud)
如果您想使用,Redirect::back()请执行以下操作
# Pass the value while redirecting
return Redirect::back()->with('query_data', 'some_data');
Run Code Online (Sandbox Code Playgroud)
并将条件添加到您的刀片文件中。
@if(!empty(Session::get('query_data')) && Session::get('query_data') == 'some_data')
<script>
$(function() {
//Change the tab using javascript or
//use location.href to refresh after appending query params to url.
});
</script>
@endif
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3143 次 |
| 最近记录: |