サーバーでデータを処理するための進行状況バーを作成したいと考えています。ページをリロードしたり、別のページに移動したりしたくないので、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>
しかし、私はこの方法を使用しないことを好みます;)これを機能させる方法はありますか?