2015-09-07 50 views
0

我的应用程序页面之一是通过我的页面中的ajax加载一些内容(目前2个请求,在文档准备好之后)。很多时候,我收到这个Ajax请求状态“401”与答复“未经授权”。有时刷新页面(与F5)是否正常工作,有时ONy一个请求正在接收401状态。更少的时间我收到500(laravel是在这种情况下使用错误的数据库凭据,而不是.env)。很多时候401“未经授权”。对AJAX请求

任何人都可以帮我解决这个问题吗?

使用Laravel 5.1.6

感谢

public function handle($request, Closure $next) 
{ 
    if ($this->auth->guest()) { 
     if ($request->ajax()) { 
      return response('Unauthorized.', 401); 
     } else { 
      return redirect()->guest('auth/login'); 
     } 
    } 

    return $next($request); 
} 
+0

您是否被授权?如果您访问在浏览器中使用相同中间件的路由,会发生什么? – Jeemusu

+0

ome times ony一个请求正在接收401状态。例如5个Ajax请求后它发生了。我登录并测试了这一行代码(dd($ this-> auth-> guest())),打印“true”,如果登录后值应该是“false” – AliNasiri

+0

但是这只在使用AJAX时发生?在浏览器中查看时,相同的认证路线工作正常吗? – Jeemusu

回答

0

您可以尝试使用'|| $ request-> wantsJson()'与if来检查请求是否是ajax。

if ($request->ajax() || $request->wantsJson()) { 
     return response('Unauthorized.', 401); 
    } else { 
     return redirect()->guest('auth/login'); 
    } 
+0

此代码也无法正常工作 – AliNasiri

0

这是由于您的登录会话。每当你的会话过期。请求响应是“未经授权”。

相关问题