【Javascript下载文件的Post实现】

 1   /**
 2             *从服务器上下载数据
 3             *@param paras Json格式的键值对参数
 4             */
 5             downLoadFromServer: function (paras) {
 6                 //init a new window object
 7                 var wd = window.open('',
 8                     'newwindow',
 9                     'height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no'
10                     )
11                 var doc =wd.document;//获取新窗口的document对象
12                 doc.write("<html>");
13                 doc.write("<head>");
14                 doc.write("<title>日志文件导出下载</title>");
15                 doc.write("</head>");
16                 doc.write("<body>");
17                 doc.write("<form>");
18                 doc.write("</form>");
19                 doc.write("</body>");
20                 doc.write("</html>");
21 
22                 var form = $(doc.forms[0]);   //指定form表单
23                 form.attr('style', 'display:none');   //在form表单中添加查询参数
24                 form.attr('target', '');
25                 form.attr('method', 'post');
26                 form.attr('action', "/OperateLog/DownloadRecords");
27               
28                 
29                 //将参数键值对-转化为表单提交的input参数
30                 for (var key in paras) {
31                     var input = $(doc.createElement('input'));//在当前window中的document对象中创建子元素,并转化为jq对象
32                     input.attr('type', 'hidden');
33                     input.attr('name', key);
34                     input.attr('value', paras[key]);
35                     form.append(input);   //将查询参数控件提交到表单上
36                 }
37                //将表单提交过去
38                 form.submit();
39 
40             }
原文地址:https://www.cnblogs.com/micro-chen/p/5367550.html