2

フォームを動的に作成し、サーバー側コントローラーに送信して、データベースにクエリを実行し、csv ファイルを返すことができる状況があります。ユーザーが送信ボタンを押したり、ファイルを取り戻すために 10 回のリクエストを送信したりできないように、オーバーレイを配置できるようにする必要があります。

このため、ajax を使用すると、ブラウザが自動的に検出してユーザーにダウンロードを求めるファイルを送り返すことができないため、ajax を使用できません。

showSpinner();

    var $form = $("<form/>")
        .addClass("hidden")
        .attr("accept", "application/json")
        .attr("action", "/myPath")
        .attr("method", "POST")
        .appendTo("body");

    $form.bind('ajax:complete', function() {

        hideSpinner();

    });

    $form.submit();

「ajax:complete」は、運が悪かっただけのことでした。また、.submit() の直後に hideSpinner を配置してみました。しかし、 .submit() は非同期のように見えるため、スピナーがすぐに非表示になります。

4

0 に答える 0