2015-09-07 152 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

這是由於您的登錄會話。每當你的會話過期。請求響應是「未經授權」。

相關問題