Отправляю AJAX-запрос через $.get.
Проверяю есть ли в БД пользователь с веденными данными. Данные ввожу в форме.
Если данные верные, то перенаправляем на главную.
Код формы:
<input type="email" name="" id="login" class="form-control" placeholder="E-mail" aria-describedby="helpId" autocomplete="off">
<input type="password" name="" id="password" class="form-control" placeholder="" aria-describedby="helpId" autocomplete="off">
<button type="submit" class="btn btn-success" id="btnLogin">Войти</button>
AJAX запрос:
$('button[id="btnLogin"]').bind('click', function () {
$.get(
'/checkLogin',
{
login: $('input[id="login"]').val(),
password: $('input[id="password"]').val()
},
function (data) {
var result = JSON.parse(data);
if (result['answer'] == 1) window.location.replace('/');
});
})
Проверяю пользователя с помощью php-скрипта:
public function checkUser($user)
{
$person = new User;
$person = USER::where('login', $user['login'])->where('password', $user['password'])->get();
if ($person->isEmpty())
return 0;
else
return 1;
}
public function checkLogin()
{
$user = [];
$user['login'] = $_GET['login'];
$user['password'] = $_GET['password'];
$result = $this->checkUser($user);
if ($result != 1){
$answer['answer'] = 0;
}
else
{
$answer['answer'] = 1;
}
echo json_encode($answer);
}
Если данные введены верные, то:
1. Chrome выводит: Navigated to
lara.loc/login?
2. Переадресации не происходит.
Почему?
Проверял get запросом, php-скрипт возвращает ожидаемый json.