#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. в любом случае, спасибо, я проверил это… на самом деле мой сервер имел дело с таблицей в базе данных для любых изменений и отвечал, если изменения произойдут.. и как только я запросил только один раз у клиента, все зависло, и любые дальнейшие запросы игнорировались даже после обновления страницы.. проблема была в этом бэкэнде..