在某些情况下,你可能希望在提交表单或任何 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> `