【发布时间】:2016-10-21 20:13:47
【问题描述】:
我想在返回响应的地方覆盖 laravel。然后我想检测状态码(200 或 301)以及请求是否为 ajax。如果状态码是 200 并且请求是 ajax 我想返回自定义 html。就像是 :
protected function returnResponse($statusCode, $html, $redirectUrl){
if($statusCode == 200 && isAjax()){
return parent::returnResponse($customStatusCode, $customHtml, $customRedirectUrl);
}
return parent::returnResponse($statusCode, $html, $redirectUrl);
}
编辑: 我有这个:
class SomeMiddleware
{
public function handle($request, Closure $next)
{
// do before
$request = $next($request);
//do after
return $request;
}
}
但是如何检测当前响应是否重定向?
【问题讨论】:
-
你还有什么吗?
-
在您的问题中,您说如果请求是 ajax,您希望返回自定义响应。为什么现在需要知道响应是否重定向?
-
因为如果响应是重定向(301)和ajax,它很复杂并且浏览器相关的“关闭”重定向跟随在jquery中,所以当请求是ajax和301时我想将301更改为200然后手动重定向。
-
好的,请看下面的答案,我已经浏览了我认为您正在寻找的部分。