Javascript 在没有AJAX的情况下检查表单提交是否成功

Javascript 在没有AJAX的情况下检查表单提交是否成功,javascript,jquery,forms,file,submit,Javascript,Jquery,Forms,File,Submit,我的情况是动态创建表单并提交到服务器端控制器,以便查询数据库并返回csv文件。我需要能够建立一个覆盖,以便用户不能锤击提交按钮,并发送10个请求获得文件回来 因此,我不能使用ajax,因为ajax不允许我发回一个文件供浏览器自动检测并要求用户下载 showSpinner(); var $form = $("<form/>") .addClass("hidden") .attr("accept", "application/json")

我的情况是动态创建表单并提交到服务器端控制器,以便查询数据库并返回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();
showSpinner();
变量$form=$(“”)
.addClass(“隐藏”)
.attr(“接受”、“应用程序/json”)
.attr(“操作”、“/myPath”)
.attr(“方法”、“职位”)
.附于(“主体”);
$form.bind('ajax:complete',function()){
hideSpinner();
});
$form.submit();

“ajax:complete”只是我一直在尝试的东西,没有运气。我还尝试将hideSpiner放在.submit()之后。但这会立即隐藏微调器,因为.submit()似乎是异步的

你在做什么?我错过什么了吗?我没有看到任何ajax,只是一个普通的表单提交。它是用cookies完成的,当你们从服务器发送文件时,你们设置了cookie。他提交的表单返回下载。下载开始后,他仍将在表单上,此时他希望删除覆盖。没有事件可供您收听,因此@karaxuna建议的cookies几乎是除了使用ajax或iframes之外的唯一方法