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表单, 当后台传来的是文件时,自动点击提交按钮,文件就会被下载。

 

posted @ 2017-03-22 11:46  一个勤奋的胖子  阅读(20632)  评论(0编辑  收藏  举报