simexis/laravel-ajax-redirector
Laravel 处理AJAX重定向的库
3.0.0
2018-02-20 08:01 UTC
Requires
- php: >=7.1.3
- illuminate/routing: ^5.6
This package is auto-updated.
Last update: 2024-09-14 23:52:59 UTC
README
Laravel 处理AJAX重定向的库
此包将AJAX调用重定向响应从301或302更改为278 JSON响应。XHR请求遵循重定向,这在很多情况下并不是预期的。大多数情况下,预期的是浏览器将客户端重定向到目标页面。
对于Laravel 4,请使用版本1.0.0。
对于Laravel 5,请使用版本2.0.0+
对于Laravel 5.6,请使用版本3.0.0+
安装
composer require simexis/laravel-ajax-redirector
更新composer后,将服务提供者添加到Laravel版本< 5.5.*的config/app.php
文件中的providers
数组中
'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"}