Я делаю процесс установки для установки db. Я пытаюсь дать пользователю пройти все этапы без обновления страницы. Я застрял в точке, где я хочу использовать функцию .load() jquery. Это JavaScript:Обновление div без обновления страницы
if(response.error == 'none')
$("#setup_form").slideToggle('fast', function() {
$('#setup_form').load('./includes/db_setup_form.php');
$("#setup_form").delay(1000).slideToggle('fast');
});
Условный проверяет, что все прошло нормально с предыдущей фазой установки.
db_setup_form.php работает так:
<?php if ($_SESSION['setup_progress'] == NULL) {?>
Starting phase
<?php }
else {
switch ($_SESSION['setup_progress'])
{
case "1":?>
phase 1
<?php break;
case "2":?>
phase 2
<?php break;
}
} ?>
и это главная страница:
<div id="setup_form">
<?php include('./includes/db_setup_form.php'); ?>
</div>
$ _SESSION [ 'setup_progress'] переменной присваивается после того, как пользователь завершает первую установку фаза. Проблема в том, что все работает, если я вручную обновляю страницу после первой фазы установки, но javascript, похоже, не работает, div отображается без обновленной информации.
спасибо От того, что я знаю, все должно быть в порядке ... но это не так.
не забывайте, что $ .load() или любой запрос ajax - это асинхроны , поэтому остальная часть кода будет продолжать работу, даже если запрос еще не закончен или даже если запрос не выполнен – Qchmqs