window.location.href вообще не будет перенаправлять - PullRequest
0 голосов
/ 26 декабря 2018

Когда я вхожу в систему, используя мою форму входа Ajax, вместо перенаправления на панель управления отображается ошибка:

window.location.href = "https://my.distincttrack.com/admin/";

Если я обновлю страницу, она будет перенаправлена ​​наприборная панель из-за аутентичной защиты в промежуточном программном обеспечении Laravel.Но код, который я разместил выше, совсем не перенаправляет меня на эту страницу, когда ответ успешен.

Я попытался изменить его на window.location, но это не помогло.Я вынул двойные кавычки, и это не сработало, поэтому я положил их обратно.Я попытался отключить AJAX и посмотреть, что ответит обычная форма HTTP-отправки, и это повторило успех, как и должно быть.

Мой код Jquery Ajax:

 return {
    init: function () {
        l(), $("#m_login_signin_submit").click(function (e) {
            e.preventDefault();
            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });
            var a = $(this), l = $(this).closest("form");
            l.validate({
                rules: {
                    email: {required: !0, email: !0},
                    password: {required: !0}
                }
            }), l.valid() && (a.addClass("m-loader m-loader--right m-loader--light").attr("disabled", !0), l.ajaxSubmit({
                url: "",
                method: "post",
                data: {
                  email:jQuery('#email').val(),
                  password:jQuery('#password').val()
                },
                success: function (response) {
                    if(response==="success") {
                        window.location.href="https://my.distincttrack.com/admin/";
                    } else {
                        setTimeout(function () {
                            a.removeClass("m-loader m-loader--right m-loader--light").attr("disabled", !1), i(l, "danger", "Incorrect username or password. Please try again.")
                        }, 2e3);
                    }
                }
            }))
        }),

Мой контроллер, где находится пользовательзарегистрировано и получен ответ:

public function store(Request $request)
{
    if (Auth::guard('system')->attempt(['email' => $request['email'], 'password' => $request['password'], 'status' => 1], $request['remember'])) {
        return 'success';
    }
    return 'failed';
}

Мой HTML-просмотр в блейде:

 <form class="m-login__form m-form" action="" method="post">
                    @csrf
                    <div class="form-group m-form__group">
                        <input class="form-control m-input" type="email" placeholder="Email" name="email" autocomplete="off" required>
                    </div>
                    <div class="form-group m-form__group">
                        <input class="form-control m-input m-login__form-input--last" type="password" placeholder="Password" name="password" required>
                    </div>
                    <div class="row m-login__form-sub">
                        <div class="col m--align-left m-login__form-left">
                            <label class="m-checkbox  m-checkbox--light">
                                <input type="checkbox" name="remember"> Remember me
                                <span></span>
                            </label>
                        </div>
                        <div class="col m--align-right m-login__form-right">
                            <a href="javascript:;" id="m_login_forget_password" class="m-link">Forget Password ?</a>
                        </div>
                    </div>
                    <div class="m-login__form-action">
                        <button id="m_login_signin_submit" class="btn btn-focus m-btn m-btn--pill m-btn--custom m-btn--air  m-login__btn">Sign In</button>
                    </div>
                </form>

И мой метатег с токеном CSRF правильный.

Когда я вхожу в систему и ajax получает ответ «success», он автоматически перенаправляет пользователя на панель инструментов.В случае неудачи он перевернет оператор else и покажет ошибку («Неверные учетные данные ......») и т. Д.

Временно вы можете увидеть мою проблему, пока я не смогу предоставить публичный доступ:

https://my.distincttrack.com/admin/login

электронная почта: jarrod@distincttrack.com pass: admin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...