0

サーバーでデータを処理するための進行状況バーを作成したいと考えています。ページをリロードしたり、別のページに移動したりしたくないので、ajax リクエストを使用しました。

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

    }
});

そして、このリクエストは次のようなコードを返します:

set_progress(50);

チャンクモードで何度も。しかし、ajaxはリクエストが完了するまで待ってから、レスポンスデータを返します! それは役に立ちませんでした:(

その後、別の方法でテストしました。通常の http フォームに iframe を使用しました。

<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