在某些情况下您可能希望将用户重定向到一个新页面在提交表单, 或任何 AJAX 请求。
<form data-request="onSignup">
<div>
<label>Email</label>
<input name="email" />
</div>
<button data-attach-loading>
Sign Up
</button>
</form>在您的 AJAX 处理器 中,您可以返回一个 Redirect 响应类型,其中 to 方法接受相对或绝对 URL(第一个参数)。
function onSignup()
{
return Redirect::to('/signup-complete');
}您可以使用 refresh 方法来刷新当前页面。还支持使用 闪存消息。
function onSignup()
{
Flash::success('Signup complete!');
return Redirect::refresh();
}Cms 门面和 redirect 方法可用于重定向到特定的 CMS 页面(第一个参数)以及任何可选的路由参数(第二个参数)。
function onRedirect()
{
return Cms::redirect('blog/post', ['slug' => 'foobar']);
}您可以改用 pageUrl 方法,以字符串形式返回 URL。
$postPage = Cms::pageUrl('blog/post', ['slug' => 'foobar']);该 redirect() Twig 函数 可用于在页面标记中重定向用户。
function onSignup()
{
$this['success'] = true;
}此函数接受 URL 或 CMS 页面名称。
{% if success %}
{% do redirect('/signup-complete') %}
{% endif %}AJAX 框架 支持带 data-request-redirect 属性的重定向. 属性值应指定一个 URL 位置 以在成功的 AJAX 请求完成后进行重定向.
<button
data-request="onAjax"
data-request-redirect="/signup-complete">
Save and Redirect
</button>该 turbo 路由器 支持历史重定向带 data-browser-redirect-back 属性。该属性可以附加到任何超链接或 AJAX 请求元素,覆盖重定向响应,并且仅在存在先前的浏览器历史状态时触发。
<button
data-request="onRedirect"
data-browser-redirect-back>
Save and Back
</button>属性值也可以用于超链接上。
<a
href="/home"
data-browser-redirect-back>
Go Back
</a>
data-browser-redirect-back属性应与传统的重定向结合使用,作为回退位置。
:::