* Обновление Похоже, нет ничего плохого, чтобы повторить данные, как @Patrick Q, упомянутый ниже. Не могли бы вы попытаться обрезать данные, полученные в javascript / jquery, чтобы проверить наличие неожиданных пробелов
data.trim()
Если вы хотите добавить больше переменных, вы можете сделать решение ниже. (или, если хотите)
Вы не должны повторять результат ajax. Вместо этого вы должны вернуть его как json
PHP file:
$ajax_result = array():
$ajax_result['success'] = false;
$ajax_result['message'] = 'Incorrect login data';
if(something)
{
$ajax_result['success'] = 'login_success';
$ajax_result['message'] = 'You were logged in. You will be redirected now.';
}
header('Content-type:application/json;charset=utf-8');
echo json_encode($ajax_result);
Это вернет результат в виде массива во внешний интерфейс, и вы можете работать с ним, выбирая переменные с data.success или data.message et c.
Jquery / Javascript:
$.ajax({
url:"sql/login_process.php",
method:"POST",
data:$('#login_form').serialize(),
beforeSend:function(){
$('#login_response').html('<span class="text-info"><i class="fas fa-spinner"></i> Loading response...</span>');
},
success:function(data){
$('form').trigger("reset");
$('#login_response').fadeIn().html(data.message);
setTimeout(function(){
$('#login_response').fadeOut("slow");
}, 7000);
if(data.success == "login_success") location.href = "http://www.example.com/myprofile.php";
}
});
Это наиболее базовое c использование. Вы можете изменить его, чтобы иметь доступ к защите только из ajax запросов и т. Д. c.