POST 方式下载文件

通常下载文件直接这样

  var url = xxxx.action;
  window.location.href = url;

如果需要带参数 那么

 url =  xxxx.action?a=xx&b=yy;
window.location.href = url;

但是 如果需要提交的参数比较多,或者是数据量比较大,这个时候get方式就不能用了,
下面是post 方式下载文件

  /**
    *参数说明: url:下载地址,val:需要提交的参数值,具体类型和个数自行扩展
    * 参数可以用obj = {url:""",val1:"111",val2:"222",...}这样的 格式,也可以用(url,val1,val2....)根据自己喜好来
    */
function ajaxPostLoadFile(url,val){
    var form = $("<form>");//定义一个form表单
    form.attr("id", "downloadform");
    form.attr("style", "display:none");//将表单隐藏
    form.attr("target", "");
    form.attr("method", "post");
    form.attr("action", url);

     var input1 = $("<input>");
          input1.attr("type", "hidden");
          input1.attr("name", "testName");
          input1.attr("value", val);
      //如果有多个参数,参照上面input1 的写法

       form.append(input1);//一定要把参数添加到form里
       $("body").append(form);//将表单放置在页面中
       form.submit();//表单提交
       $("#downloadform").remove();//移除表单
 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • post方式下载文件有很多种方法,其中blob对象方法不兼容ie9,所以我选择iframe+form post方法...
    我是你班主任阅读 2,324评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,556评论 25 708
  • 现在又到了一个熬得阶段,我知道熬过去就好了,不过这个不断地撕裂与重生的过程真的挺让人痛苦的。到现在为止,自己身上的...
    尚巾林阅读 301评论 0 0
  • 亲爱的你,昨天过后你就二十四岁了,这个年纪你站在十字路口。仿佛是五岁的迷路的小女孩,内心充满了困扰与迷茫,你有好多...
    梵高的向日葵啦啦啦阅读 451评论 9 14