2017-10-17 155 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