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

来源:互联网 发布:2016党章党规网络测试 编辑:程序博客网 时间:2024/06/05 16:14

直接使用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
                });

}

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



0 0
原创粉丝点击