您的位置:首页 > Web前端 > JavaScript

使用js发送post参数下载文件

2017-04-27 17:39 246 查看
直接使用a标签只能发送get请求

点击按钮之后,下载文件,但是页面不能跳转,而且使用post 请求,需要绣袋多个参数

首先定义一个方法

function DownLoad(options) {

    var config = $.extend(true, { method: 'post' }, options);

    var $iframe = $('<iframe id="down-file-iframe" />');

    var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');

    $form.attr('action', config.url);

    for (var key in config.data) {

    $form.append('<input type="hidden" name="' + key + '" value="' + config.data[key] + '" />');

     }

    $iframe.append($form);

    $(document.body).append($iframe);

    $form[0].submit();

    $iframe.remove();

}
   

调用

 function loginDown(){

   

    var url = "localhost:8080/api/statistics/down.do";

                var data = {

                 parentId:$("#parentId").val(),

                 groupId:$("#groupId").val(),

                 startTime:vue.startTime,

                 endTime:vue.endTime

                 } ;

DownLoad({ //调用下载方法

                url:url,data:data

                });

}

下载时创建一个新窗口,如图,点击下载后 该窗口 自动关闭。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: