我有类似的问题,像这样的one。Laravel 5.3 AJAX登录不重定向
我想使用Laravel 5.3 Auth进行AJAX登录。
这是我走到这一步:
var login = function()
{
var data = {};
data["email"] = $('#email').val();
data["password"] = $('#password').val();
if($('#remember').is(':checked'))
data["remember"] = "on";
$.ajax({
type: "POST",
url: '/login',
data: JSON.stringify(data),
// data: data,
headers : { 'Content-Type': 'application/json' },
success: function(data) {
console.log(data);
// window.location.href = "/dashboard";
}
});
};
我发送CRSF令牌为X-CSRF-TOKEN
标题。
的问题是,当我登录成功,我说同样的页面, 上,但在网络选项卡,我可以看到我不是 重定向是/dashboard
页面加载。
以同样的方式,当我通过错误的凭据,我留在同一页, ,但我可以看到,/login
页面加载在单独的调用中应该实际显示的错误消息。
此外,我试过没有headers : { 'Content-Type': 'application/json' },
和发送数据为:data = data,
但我得到同样的事情。
为什么浏览器不会重定向到该页面,因为它正在“背景”中加载它?
编辑:我得到正确的页面作为请求响应,我可以在控制台(console.log(data)
;)中看到它 。
你看到在你的AJAX请求任何错误? – Michel
@Michel不,实际上,如果我刷新登录页面,它会将我重定向到仪表板。所以它会正确设置会话,但不会重定向。 – sstevan
你应该手动重定向用户...取消注释最后一行 – Sherif