Можно получить частичные результаты и написать в div из сообщения $ .ajax?
Мой код расслоение плотной
$('#submit').livequery('click', function(event) {
event.preventDefault();
$('#loading').show();
var myvar= $("#myvar").val();
$.ajax({
type: "POST",
url: "process.php",
cache: false,
data: ({'myvar':myvar}),
success: function(data){
$('#loading').hide();
$('#main_content').html(data);
},
});
return false;
});
Код из process.php
function send($string = "") {
echo $string;
echo str_pad('', 4096)."\n";
@ob_flush();
@flush();
}
for($i=1;$i<=10;$i++){
send($i);
sleep(5);
}
можно показать на #main_content результат, как это:
- показать 1 -> ждать -> показать 2 -> ждать .....
Прямо сейчас я получаю все результаты после процесса: 12345678910
вы бы написать что-то для обработки данных который был восстановлен, поскольку PHP вернет все сразу. –
если я открываю php-файл в браузере, я получаю результат, который я хочу (я использую функцию ob_flush) – gtht90
Правильно, это потому, что PHP обрабатывает вывод - однажды отправленный клиенту через AJAX вам придется обрабатывать клиент если вы хотите сделать несколько вызовов AJAX. –