2011-11-05 17 views
0

Я делаю процесс установки для установки 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 отображается без обновленной информации.

спасибо От того, что я знаю, все должно быть в порядке ... но это не так.

+1

не забывайте, что $ .load() или любой запрос ajax - это асинхроны , поэтому остальная часть кода будет продолжать работу, даже если запрос еще не закончен или даже если запрос не выполнен – Qchmqs

ответ

0

вы должны указать действительный URL вместо пути. Итак:

.load('./includes/db_setup_form.php'); 

должен быть

.load('/includes/db_setup_form.php'); 
+0

пробовал, что без причины он сделал анимацию более гладкой, но все же она не загружала обновленный контент. – g0dl3ss

+0

Это делает мне ошибку 404, но я уверен, что путь правильный. – g0dl3ss

+0

хорошо ... тогда вы указали неправильный путь/url. Можете ли вы просмотреть файл, подобный http: //localhost/includes/db_setup_form.php, и посмотреть, что произойдет –

0

Вы пропустили DIV ID в конце вашего .load

$('#setup_form').load('./includes/db_setup_form.php #setup_form'); 
Смежные вопросы