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” 只是我没有运气的尝试。我还尝试将 hideSpinner 放在 .submit() 之后。但这只是立即隐藏微调器,因为 .submit() 似乎是异步的。

4

0 回答 0