Py学习  »  Jquery

jquery是否提交了一个表单来下载文件?

Stefan Ladwig • 5 年前 • 1250 次点击  

我有一个表单,可以发布到触发文件下载的url。服务器是asp.net mvc,我写了一个csv文件。

我想做的是让jquery/javascript提交表单,而不是表单提交按钮。

例如,我创建了一个链接,并使用jquery附加了一个处理程序来提交表单:

$(function() {
    $("#mylink").click(function() {
        $("form").submit();
        return false;
    });
});

我还尝试序列化表单,并用相同的结果编写一篇ajax文章。

我得到的结果是请求/响应按原样发生,但我没有得到文件下载(保存文件)对话框。例如,我可以使用fiddler来验证响应。

就好像反应发生在带外或者别的什么地方,如果你愿意的话,在一个平行的线上,没有人在门口。

有人能发光吗? 谢谢

更新 不知为什么, $("form").submit() 不起作用,但我可以进行验证和预处理,然后返回true,这是有效的。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/41088
 
1250 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Quentin
Reply   •   1 楼
Quentin    15 年前

如果对表单调用submit方法,则这与单击普通的submit按钮完全相同。

使用XHR会失败(因为文件将由XHR而不是普通的浏览器响应处理程序处理),但是.submit()应该可以工作。

听起来你只是没有把 content-disposition 头,使浏览器将数据视为附件而不是内联文档。