文件下载不适用于 $.get 或 $.post [重复]

Posted

技术标签:

【中文标题】文件下载不适用于 $.get 或 $.post [重复]【英文标题】:File Download doesn't work with $.get or $.post [duplicate] 【发布时间】:2014-02-17 00:04:11 【问题描述】:

我为文件下载设置了一个控制器方法,如果直接使用超链接调用该方法,它就可以工作(提示用户打开/保存文件)。但是,如果我选择通过执行显式获取请求来显式调用该方法,则尽管成功调用了该操作方法,但我不会收到文件下载提示。

    $("#id").click(function (e) 
        e.preventDefault();
        var postdata =  filename: $("#filename").text() ;
        $.get("/Test/Fix", postdata);
    );

有人知道解决方法吗?还是这是设计使然?

【问题讨论】:

***.com/questions/4545311/… @CrayonViolent,谢谢 - 这很有帮助! 【参考方案1】:

使用window.location='your desired server action path with proper parameters';

所以最终的代码如下所示:

$("#id").click(function (e) 
        e.preventDefault();
        var filename = $("#filename").text();
        window.location= "/Test/Fix?filename="+filename;
    );

希望这会有所帮助:)

【讨论】:

以上是关于文件下载不适用于 $.get 或 $.post [重复]的主要内容,如果未能解决你的问题,请参考以下文章