you cannot use jquery.ajax to read chunked http response continuously. jquery ajax will call the success callback function only when connection terminates. You should use
this jquery plugin.
如果您正在使用php, 您可以使用此代码 :
<html>
<head>
<script src="jquery-1.4.4.js"></script>
<script src="jquery.stream-1.2.js"></script>
<script>
var println = function(string){
$("#console").append(string+"<br />");
}
$(document).ready(function(){
$.stream("数据串. php",{
open:function(){
println("opened");
},
message:function(event){
println(event.data);
},
error:function(){
println("error");
},
close:function(){
println("closed");
}
});
});
</script>
</head>
<body>
<div id="console"></div>
</body>
</html>
在服务器侧面 :
数据串. php
<?php
header( Content-Encoding , chunked );
header( Transfer-Encoding , chunked );
header( Content-Type , text/html );
header( Connection , keep-alive );
ob_flush();
flush();
echo("23123454645645646;");
$p = "";
for ($i=0; $i < 1024; $i++) {
$p .= " ";
};
echo($p.";");
for ($i = 0; $i < 10000; $i++) {
echo( 6;string; );
ob_flush();
flush();
sleep(2);
}
?>