@danchiksux
Говнокодер

Как сделать header("Location: /") через ajax?

Есть скрипт авторизации php, решил сделать его ajax. Суть в том что при успешной авторизации создаётся сессия со всеми значения и методом header("Location: /") перекидывает на главную.
Но в ajax не знаю как это сделать...
Код:
PHP:
<?php 
require '../libs/bd.php';
$date = $_POST;
$errors = [];
if (isset($date['log_b'])) {
	if ($date['login'] == "") {
		$errors[] = 'Ошибка: Вы не ввели логин!';
	} else {
		$p_login = $date['login'];
		$ack = mysqli_query($connection, "SELECT * FROM `users` WHERE email = '$p_login'");
		$user = mysqli_fetch_assoc($ack);
	}
	if ($date['pass'] == "") {
		$errors[] = 'Ошибка: Вы не ввели пароль!';
	} else {
		$passh = password_verify($date['pass'], $user['password']);
	}

	if ($passh == false) {
		$errors[] = 'Ошибка: Вы ввели не верный логин или пароль!';
	}

	if (empty($errors)) {
		$_SESSION['login'] = array(
			'dost' => $user['dost'],
			'login' => $user['email'],
			'name' => $user['name'],
			'surname' => $user['surname'],
		);
		header('Location: /');
	} else {
		echo array_shift($errors);
	}
}
?>

JQuery:
function funcSucc2(date) {
		$('.lerrors').text(date);
	};

	$('#log_bbb').click(function(event) {
		event.preventDefault();
		var login = $('#login').val();
		var pass = $('#pass').val();
		var log_b = 1;
			$.ajax ({
			url: "/script/login.php",
			type: "POST",
			data: ({login, pass, log_b}),
			dataType: "text",
			success: funcSucc2
			});
	});
  • Вопрос задан
  • 1381 просмотр
Пригласить эксперта
Ответы на вопрос 3
@Arik
?
function funcSucc2(data, status, xhr) {
    var location = xhr.getResponseHeader('Location');
    if(location) {
        window.location.href = location;
        return;
    }
    $('.lerrors').text(data);
}
Ответ написан
@zhainar
Гуглю за вас
function funcSucc2(date) {
$('.lerrors').text(date);
};

$('#log_bbb').click(function(event) {
event.preventDefault();
var login = $('#login').val();
var pass = $('#pass').val();
var log_b = 1;
$.ajax ({
url: "/script/login.php",
type: "POST",
data: ({login, pass, log_b}),
dataType: "text",
success: function(response){
funcSucc2(date);
window.location.href = response.redirect_url;
}
});
});
Ответ написан
@danchiksux Автор вопроса
Говнокодер
Сделал так:
function funcSucc2(data) {
		$('.lerrors').text(data);
		var res = $('.lerrors').text();
		if (res == "Успешно") {
			window.location.href = '/';
		}
	};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы