Ajax文件下载使用Jquery,PHP
发布时间:2020-12-16 03:10:27 所属栏目:百科 来源:网络整理
导读:我想使用ajax功能下载,用户将点击下载链接(使用ajax和$ _GET)访问一个PHP文件,该文件将处理发送的$ _GET变量并访问正确的文件进行下载。 我有几个PHP脚本来处理$ _GET变量的处理工作,但是当使用Ajax进行访问时,它们停止工作。 Ajax / PHP代码im使用如下
我想使用ajax功能下载,用户将点击下载链接(使用ajax和$ _GET)访问一个PHP文件,该文件将处理发送的$ _GET变量并访问正确的文件进行下载。
我有几个PHP脚本来处理$ _GET变量的处理工作,但是当使用Ajax进行访问时,它们停止工作。 Ajax / PHP代码im使用如下: function ajaxDown(){ $('#downloadmsg').html( '<img src="media/images/ajaxloader.gif" width="128" height="15">'); $('#downloadmsg').load( 'media/downloads/downManager.php?file=".$filequery['filename']."&ftype=".$downex[1]."'); } 请查看我的代码,并帮助我找到我做错了什么。 感谢名单
我认为问题是你正在尝试加载一个文件结果INTO #downloadmsg,这不会工作,因为.load()只会加载结果作为HTML …不是二进制数据或其他编码。
一种可能起作用的方法是在HTML中创建一个隐藏的iframe,如下所示: <iframe id="secretIFrame" src="" style="display:none; visibility:hidden;"></iframe> 然后,将iframe的attr设置为querystring: $("#secretIFrame").attr("src","myphpscript.php?option1=apple&option2=orange"); 然后使用PHP头来强制下载源码(这里是一个使用八位字节流的脚本中的一个导出器头文件的示例): header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate,post-check=0,pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition: attachment;filename=data.xls "); header("Content-Transfer-Encoding: binary "); 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |