【问题标题】:Return view in controll using Ajax使用 Ajax 在控制器中返回视图
【发布时间】:2020-03-02 16:29:24
【问题描述】:

我有这个请求这个路由登录的 ajax 函数,但是如果登录成功,我希望重定向直接在控制器上。

我的 ajax 请求:

$('#btn_login').on('click', function () {
    var name = $('#name').val();
    var pass = $('#pass').val();
    $.ajax({
        type: "POST",
        url : "login",
        dataType: "JSON",
        data: {
            name,
            pass
        },
        success: function (data) {                    },
        error: function (data) {
            alert('Login Error ');
        }
    });
    return false;
});  

我的路由.php:

Route::post('/login', 'LoginController@authenticate');

我的登录控制.php:

public function authenticate(Request $request)
{
    $credentials = $request->only('email', 'pass');

    $email = $credentials['email'];
    $password = $credentials['pass'];
    if (Auth::attempt(['email' => $email, 'password' => $password])) {
        return view('login.homepage')
    }else{
        return redirect()->back();  
    }
}

【问题讨论】:

  • 你的问题是什么?是什么让您无法执行重定向?

标签: php ajax laravel


【解决方案1】:

试试ajax:

success: function (data) {location.href=data.url;},

在控制器上

改变

return view('login.homepage')

return response()->json(['url'=>route('homepage')]);

希望这能回答您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2013-01-08
    • 2018-01-06
    相关资源
    最近更新 更多