superbalist / laravel-ajax-redirector
该软件包已废弃,不再维护。未建议替代软件包。
Laravel处理AJAX重定向的库
2.0.0
2017-07-04 08:05 UTC
Requires
- php: >=5.5.0
- illuminate/routing: ^5.2
This package is auto-updated.
Last update: 2024-08-04 17:57:41 UTC
README
Laravel处理AJAX重定向的库
此软件包将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"}