superbalist/laravel-ajax-redirector

该软件包已废弃,不再维护。未建议替代软件包。

Laravel处理AJAX重定向的库

2.0.0 2017-07-04 08:05 UTC

This package is auto-updated.

Last update: 2024-08-04 17:57:41 UTC


README

Laravel处理AJAX重定向的库

Author StyleCI Software License Packagist Version Total Downloads

此软件包将AJAX调用重定向响应从301或302改为278 JSON响应。XHR请求会跟随重定向,这在许多情况下并不是预期的。在大多数情况下,预期的是浏览器将客户端重定向到目标页面。

对于Laravel 4,请使用版本1.0.0。

对于Laravel 5,请使用版本2.0.0+

安装

composer require superbalist/laravel-ajax-redirector

在app.php中注册服务提供者

'providers' => [
    Superbalist\AjaxRedirector\AjaxRedirectServiceProvider::class,
]

使用方法

在您的应用程序中,您将继续像以前一样进行重定向。

return redirect()->to('/test');

在JavaScript中,您需要监听导致HTTP 278响应的AJAX调用,并使用例如:window.location.replace(json.redirect_url);进行客户端重定向。

使用jQuery,可以使用全局AJAX事件处理器来完成此操作。

使用AngularJS,可以使用$http拦截器来完成此操作。

服务器响应将类似于

HTTP/1.1 278 unknown status
Content-Type: application/json

{"redirect_url":"http:\/\/your.site.com\/test"}