Express777
@Express777

Как очищать xhr.responseText при событии onprogress?

Здравствуйте.
Есть простейший код на ПХП, в цикле выводящий ответы:
ob_start();

		$x = range(0, 20);

		foreach ( $x as $value )
		{
			usleep(250 * 1000);
			echo $value;
			flush();
			ob_flush();
		}


Клиент запрашивает эту страницу черех аякс:
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>

<script>
	window.onload = function(  ) {
		$.ajax({
			url: '/parser/ajax.php',
			xhr: function() {
				var xhr = new window.XMLHttpRequest();
				xhr.onprogress = function( event ) {
					console.log(xhr.responseText);
				};
				return xhr;
			},
		});
	};
</script>


Задача выводит каждую итерацую в цикле в браузер.
Сейчас выводит
0
01
012
0123
01234
012345

То есть конкатенирует вывод сервера ( xhr.responseText )
Нужно получить отдельную итерацию на каждом шаге:
0
1
2
3
4
5


Как это можно сделать?
  • Вопрос задан
  • 436 просмотров
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Вам просто нужно буфер очищать перед выводом: ob_clean().
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы