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'}//要發送的數據

});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM