ajax post 数据到php后下载文件!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax post 数据到php后下载文件!相关的知识,希望对你有一定的参考价值。

在页面用JQUERY 的 AJAX POST数据到PHP后台,经后台处理后,需要下载生成的文件,请问如何处理?

PHP后台返回生成文件的URL地址。页面接收返回值。window.open这个url。就下载了。。。

参考资料:PHP

参考技术A 有个简单的方法,你直接传回下载文件的地址,然后当前页面使用JS跳到这个地址即可,就会出现保存的选项了 参考技术B 那就open一个新窗口,地址是文件的URL就可以了啊。

ajax下post提交方式下载文件的处理(转)

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();
}

 留作备用

以上是关于ajax post 数据到php后下载文件!的主要内容,如果未能解决你的问题,请参考以下文章

ajax post下载文件/流

ajax下post提交方式下载文件的处理(转)

下载文件并通过 ajax 将其重定向到另一个页面

AJAX + PHP +下载mPDF生成的文件

用于下载文件的php代码不适用于ajax [重复]

处理从 ajax post 下载的文件