0

我想制作一个进度条来处理服务器中的一些数据。我不想重新加载页面或转到另一个页面,所以我使用了 ajax 请求:

$.ajax({
    type: "POST", 
    url: "/process.php",
    dataType: "script",
    data: "foo=bar",
    success: function(data){

    }
});

此请求返回一些代码,例如:

set_progress(50);

在分块模式下一遍又一遍。但是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>

但我更喜欢不使用这种方式;)有什么办法可以做到这一点?

4

0 回答 0