2017-10-17 154 views
0

我有一個投票系統爲用戶插入的模型。如果該模型獲得5票,它將被插入到數據庫中。我想在成功插入後重定向到一般的「用戶提交」頁面。因此,如果用戶投了第五票,我會重定向到這樣的頁面。我有我發送Ajax請求這樣的命名路線:Laravel重定向登錄後,JavaScript重定向到另一頁

$redirect_url = route('user_suggested_models'); 

$report = ['url' => $redirect_url]; 

return Response()->json($report); 

路線是這樣定義的:

Route::get('model/user_suggested_models', [ 

    'as' => 'user_suggested_models', 

    'middleware' => 'auth', 

    'uses' => '[email protected]' 

]); 

,並在JavaScript我重定向這樣的:

document.location.href = data.url; 

因此重定向發生,但即使我登錄我得到的登錄頁面,如果我登錄然後它繼續重定向。問題是用戶已經登錄。任何線索爲什麼它需要再次憑據?

更新:

升級到4.1毫安解決了這個問題完全無需修改路由。

回答

0

當你重新加載頁面時,它再次調用這個URL「model/user_suggested_models」。由於此URL受auth保護,因此將您重定向到登錄頁面。

+0

有沒有辦法避免這種情況?爲什麼這樣呢?如果我在登錄時重新加載相同的頁面,它將不會要求登錄,因爲我已登錄 – Chriz74

+0

嘗試中間件名稱爲auth:web查看結果如何。 –

+0

auth:web works thanks。有什麼意思嗎? – Chriz74