我想制作一个用于处理服务器中某些数据的进度条。 我不想重新加载页面或转到另一个页面,所以我使用了ajax请求:
$.ajax({
type: "POST",
url: "/process.php",
dataType: "script",
data: "foo=bar",
success: function(data){
}
});
此请求返回一些代码,如:
set_progress(50);
在chunked模式下一遍又一遍。 但是ajax等到请求完成然后返回响应数据! 这样就没用了:(
之后,我测试了另一种方式。 我使用iframe作为常规http表单。<form action="/process.php" method="post" target="iframe" id="formid">
<input type="hidden" name="foo" value="bar" />
</form>
<iframe name="iframe"></iframe>
甚至这种方法也行不通:((( 它将在请求结束时运行所有javascript代码而不是抛出请求!
我知道做这项工作的常规工作是将用户发送到另一个页面,然后发送分块数据,如:
<script type="text/javascript">setProgress(percent);</script>
但我不喜欢这种方式;) 有什么方法可以使这项工作?