ajax post to laravel无法重定向,表单提交可以重定向

时间:2017-05-23 01:56:37

标签: php ajax laravel redirect

首先,我是一名中国学生。我会尽力解释我的问题,但我的英语不是很好。非常抱歉。   在我的登录网站中,我将ajax post数据(id,passwd...)用于路线。确认后,如果数据正确,登录网站将重定向到另一个网络路由。但控制器功能无法重定向。像:

return redirect('wx/setdev');
//not work in controller function ,but work in route function

如果我将表单提交给控制器,控制器可以重定向到网络路线,但ajax不能。

$.post("{{route('cfmlogin')}}",{
   _token : "{{csrf_token()}}",
   user : $('#num').val(),
   passwd : $('#passwd').val()
});

我不知道为什么!请帮帮我。

由于

1 个答案:

答案 0 :(得分:0)

您必须返回网址并将ajax回调函数重定向到网址,而不是将重定向返回到ajax响应。

所以你需要改变

return redirect('wx/setdev');

return url('wx/setdev');

并在你的jQuery ajax post中,为成功回调函数传递第三个参数以重定向

$.post("{{route('cfmlogin')}}", {
    _token : "{{csrf_token()}}",
    user : $('#num').val(),
    passwd : $('#passwd').val()
}, function (data) {
    window.location = data;
});