ajax post方式下载后台传来的文件


参考:http://stackoverflow.com/questions/16086162/handle-file-download-from-ajax-post

 

 1 $.ajax({
 2     type: "POST",
 3     url: url,
 4     data: params,
 5     success: function(response, status, request) {
 6         var disp = request.getResponseHeader('Content-Disposition');
 7         if (disp && disp.search('attachment') != -1) {  //判断是否为文件
 8             var form = $('<form method="POST" action="' + url + '">');
 9             $.each(params, function(k, v) {
10                 form.append($('<input type="hidden" name="' + k +
11                         '" value="' + v + '">'));
12             });
13             $('body').append(form);
14             form.submit(); //自动提交
15         }
16     }
17 });

上面的方法是个技巧,

 

AJAX发送参数到后台后,后台处理后,传数据到前台,Ajax在success里面构建了一个from表单, 当后台传来的是文件时,自动点击提交按钮,文件就会被下载。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM