Когда я вхожу в систему, используя мою форму входа 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