Я создал страницу, в которой я использую функцию PHP flush (), чтобы выводить данные в браузер, а второй – на эхо. Я также вызываю эту страницу, используя функцию ajax jQuery. Он работает, но jQuery ничего не выводит до тех пор, пока вся страница не выполнит, какой вид удаляет функциональность flush ().
Как я могу это исправить?
Мой вызов ajax выглядит следующим образом:
jQuery.ajax({ type: "get", url: url, data: postdata, success: function(retval) { jQuery('#retdiv").html(retval); } })
Здесь у вас есть 2 плагина для потоковой передачи:
JREERY AJAX HTTP STREAM и JSTREAMPLUG .
http://plugins.jquery.com/taxonomy/term/1840
«Этот плагин позволяет поддерживать постоянное соединение с сервером, поддерживающим контент, постоянно обновляемый последним контентом, используя один HTTP-запрос. Он расширяет функции $ .ajax, $ .get и $ .post, чтобы обеспечить потоковое вещание».
jQuery должен дождаться закрытия соединения, прежде чем он сможет вставить html на страницу – он не может отображать его постепенно (это не имеет никакого смысла).