zoukankan      html  css  js  c++  java
  • js发送post请求下载文件

    大家都知道ajax是不能直接下载文件的,所以一般都是通过一个超链接的形式去下载一个文件

    但是当牵扯到需要发送很多数据到服务器上再下载的时候超链接的形式就有些太过勉强了

    如下是一个工具方法(依赖jquery) 可以通过发送多数据的情况下下载文件,代码如下:

    /*===================下载文件
     * options:{
     * url:'',  //下载地址
     * data:{name:value}, //要发送的数据
     * method:'post'
     * }
     */
    var DownLoadFile = function (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();
    }

    很简单的,传如url和数据就可以啦 

    demo: DownLoad({

    url:'http://www.baidu.com.....', //请求的url

    data:{sc:'xxx'}//要发送的数据

    });

  • 相关阅读:
    还记得那种 喜欢到不行的感觉么?
    从点到面,再从面到点
    草珊瑚的常见移动网站布局
    草珊瑚的CSS基础
    表驱动编程
    如果一切需要重学,2014年应该学哪些技术?
    揭开Makefile的神秘面纱
    VIM资源
    VIM跳转技巧
    前女友究竟是一种怎样的存在?
  • 原文地址:https://www.cnblogs.com/xiexingen/p/4560547.html
Copyright © 2011-2022 走看看