Php 部分处理大响应
我正在对php进行ajax调用,就像Php 部分处理大响应,php,ajax,Php,Ajax,我正在对php进行ajax调用,就像 $.ajax({ url: "php_scripts/work.php", type: "post", data: {count: count}, success: function(d) { //prev html content eg <div>blah blah </div> var prevData = document.getElementById("resul
$.ajax({
url: "php_scripts/work.php",
type: "post",
data: {count: count},
success: function(d) {
//prev html content eg <div>blah blah </div>
var prevData = document.getElementById("result_of_duplicate_div").innerHTML;
prevData += d;
//updated content
document.getElementById("result_of_duplicate_div").innerHTML = d;
}
});
PHP代码:
这只是我尝试的一个例子
我希望我的网页应该先显示1,然后显示2到9
但它一次打印了1到9
实际上,我将使用socket在java服务器和php客户端之间进行通信,服务器将处理大量数据,并给出可以显示给最终用户的部分响应,所以我在上面的代码中概述了这个问题,所以有人能帮我实现吗?
谢谢您应该在json数组中传递数据,然后使用计时器javascript端先显示,然后显示第二个,然后显示下一个。。睡眠可能会暂停脚本,但仅当脚本完成时才会调用success。。所以你没有注意到..javascript中的计时器在延迟2后显示像1这样的部分不会达到我的目的,因为我的服务器代码会给出小部分的结果,我需要向用户展示如何实现这一点,先生,我的意思是,我知道如何进行套接字编程,我只是在问一个概念,每次服务器发送一个小的结果,并显示给用户,这样用户就不会觉得网站被挂了。
<?php
require 'FirePHPCore/fb.php';
ob_start();
//session_start();
//FB::log('Log message');
//FB::info('Info message');
//FB::warn('Warn message');
//FB::error('Error message');
if(isset($_POST['count'])){
$fileCount = $_POST['count'];
while($fileCount < 10){
echo $fileCount;
sleep(3);
$fileCount++;
}
}else{
FB::log('count is null');
}