Проблема с PHP-кометой

#php

Вопрос:

Рассмотрим «test.htm» выполнение запроса Ajax на «test.php»:

test.htm: загрузка окна=запрос ajax( test.php,обратный вызов )
test.php: <?php sleep( 20 ); эхо «foo»; ?> <?php sleep( 20 ); эхо «foo»; ?>

Но браузер перезагружается до получения ответа.

Когда веб-страница загружалась в первый раз, ответ был ожидаемым через 20.02 с
после первого обновления: 27 секунд, второго обновления: 26 секунд, третьего обновления: 27 секунд и так далее около 27 секунд.
( Ubuntu 10, Firefox 3.6 )

Все это несоответствие возникает, когда я перезагружаю страницу, пока ответ еще не получен. Если я перезагрузлю страницу после ответа от test.php, здесь нет никаких проблем.

Какие-либо средства/я где-то ошибся в бэкэнде/ajax кэшируется??

Ответ №1:

Вы отправляете Ajax-запрос test.php , поэтому ваш браузер не ждет получения ответа. Сделайте звонок синхронным.

Комментарии:

1. @Prashanth Everlasto, Браузер загружается до получения ответа, потому что вы делаете вызов Ajax.. никакой другой причины.

2. в любом случае, спасибо, я проверил это… на самом деле мой сервер имел дело с таблицей в базе данных для любых изменений и отвечал, если изменения произойдут.. и как только я запросил только один раз у клиента, все зависло, и любые дальнейшие запросы игнорировались даже после обновления страницы.. проблема была в этом бэкэнде..