ajax是不能直接下載文件的,所以一般都是通過一個超鏈接的形式去下載一個文件
但是當牽扯到需要發送很多數據到服務器上再下載的時候超鏈接的形式就有些不好看了,
/*===================下載文件 * 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(); }
留作備用