Использование AJAX для проверки переменных в базе данных, если true, заголовок на определенную страницу, PHP, JAVASCRIPT

109
12

Я пытаюсь использовать AJAX для проверки переменных в базе данных, и если это правда, то это должно сделать заголовок на определенной странице, за исключением этой тестовой фразы, я не проверяю какие-либо переменные. Я просто проверяю, будет ли он заголовок на эту определенную страницу, если я вызову функцию. Я начал с test1.php, но он должен был вызвать функцию ajax и сразу же перейти к test3.php, но это не так. Я не уверен, что я сделал не так. Взгляни, пожалуйста:

ajax.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type = "text/javascript">

function nopassAjax(url,timeout) {

$.ajax({
type: "POST",
url: url,
error: function(xhr,status,error){alert(error);},
success:function(data) {
setTimeout(function() { timeoutAjax(url,timeout); }, timeout);
}

});

}

</script>

test1.php

<?php

include('ajax.php');

echo "<script>";

echo "nopassAjax('test2.php',1000);";

echo "</script>";

?>

test2.php

<?php

//checks some stuff in the database
//if true, header off to test3.php

header("Location: test3.php");

?>

test3.php

<?php

echo "Hello";

?>

спросил(а) 2021-01-25T18:01:43+03:00 4 месяца, 4 недели назад
1
Решение
64

Из вашего вопроса я предполагаю, что вы хотите перенаправить на страницу, которая вернулась из вашего вызова AJAX. Вы не можете делать это только с PHP. Javascript:

$.ajax({
method: "POST",
url: someUrl
}).fail( function( error ) {
alert( error );
}).done( function( response ) {
window.location = response;
});

PHP:

<?php
echo "test3.php";
?>

ответил(а) 2021-01-25T18:01:43+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема