Ajax实现文件下载功能详解

这次给大家带来Ajax实现文件下载功能详解,Ajax实现文件下载功能的注意事项有哪些,下面就是实战案例,一起来看一下。

JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下载。但可以用js生成一个form,用这个form提交参数,并返回“流”类型的数据。在实现过程中,页面也没有进行刷新。

1. 使用ajax,ajax的返回值类型是json,text,html,xml类型,或者可以说ajax的发送,接受都只能是string字符串,不能流类型,所以无法实现文件下载,强用会出现response冲突。如果非要使用ajax的话,只能通过返回值得到生成的文件相关url。然后在回调函数里通过创建一个iframe,并设置其src值为文件url,或者一个对文件生成流的处理url,这样操作来实现文件下载且页面无刷新。

2. 不使用ajax,通过dom动态操作或创建iframe,form的方式来实现,在下载文件的同时实现页面不刷新,其中iframe的src可以是文件地址url来直接下载文件,也可以是流处理url通过response流输出下载,form的是流处理url通过response流输出下载,dom动态操作的时候实现文件下载,且页面无刷新。要在下载的同时实现进度条的话,可以创建一个定时任务,每隔一定时间就向后台发送请求,通过公用的对象,比如session,来取得文件下载的处理进度。

var title=$("input[name='gjzSelect']").val();var rqTime = $(".ui-datepicker-time").val();var ddd= rqTime.split("一");var startTime=ddd[];var endTime=ddd[];var form = $(""); //定义一个form表单form.attr('style', 'display:none'); //在form表单中添加查询参数form.attr('target', '');form.attr('method', 'post');form.attr('action', "jiankong/madeExcel.do");var input = $('');input.attr('type', 'hidden');input.attr('name', 'startTime');input.attr('value', startTime);var input = $('');input.attr('type', 'hidden');input.attr('name', 'endTime');input.attr('value', endTime);var input = $('');input.attr('type', 'hidden');input.attr('name', 'title');input.attr('value', title);$('body').append(form); //将表单放置在web中form.append(input); //将查询参数控件提交到表单上form.append(input);form.append(input);form.submit();<%-- $.ajax({url:'jiankong/madeExcel.do',cache:false,data:{'startTime':startTime,'endTime':endTime,'title' :title},error:function (e){alert("导出失败!");},success:function (data){alert("导出成功!");} }); --%>

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

jquery中ajax执行顺序调整

Ajax与$.ajax实例详解

jQuery怎么做出监控页面ajax请求

以上就是Ajax实现文件下载功能详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2768404.html

(0)
上一篇 2025年3月8日 12:04:13
下一篇 2025年3月8日 12:04:19

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ajax三种解析模式使用详解

    这次给大家带来ajax三种解析模式使用详解,ajax三种解析模式使用的注意事项有哪些,下面就是实战案例,一起来看一下。 一、Ajax中的JSON格式 html代码: var btn = document.getElementById(“bt…

    编程技术 2025年3月8日
    200
  • ajax获得json数据后格式怎么转换

    这次给大家带来ajax获得json数据后格式怎么转换,ajax获得json数据后格式转换的注意事项有哪些,下面就是实战案例,一起来看一下。 一言以蔽之,json返回的是一串数据;而jsonp返回的是脚本代码(包含一个函数调用);接下来通过本…

    2025年3月8日
    200
  • JS实现JSON.stringify步骤详解

    这次给大家带来JS实现JSON.stringify步骤详解,JS实现JSON.stringify的注意事项有哪些,下面就是实战案例,一起来看一下。 JSON.stringify是浏览器高版本带的一个将JS的Objtect对象转换为JSON字…

    编程技术 2025年3月8日
    200
  • jquery操作table步骤详解

    这次给大家带来jquery操作table步骤详解,jquery操作table的注意事项有哪些,下面就是实战案例,一起来看一下。 虽然现在p+CSS进行页的布局大行其道,但是很多地方使用table还是有很多优势,用table展示数据是比较方便…

    编程技术 2025年3月8日
    200
  • jquery操作表格实例详解(附代码)

    这次给大家带来jquery操作表格实例详解(附代码),jquery操作表格的注意事项有哪些,下面就是实战案例,一起来看一下。 最近做东西需要对表格进行操作,用到的动作包括:添加一行数据、删除一行数据、上下移动数据,网上找了很多,但是不能完全…

    2025年3月8日
    200
  • jQuery插件seat-charts使用详解(附代码)

    这次给大家带来jQuery插件seat-charts使用详解(附代码),jQuery插件seat-charts使用详解的注意事项有哪些,下面就是实战案例,一起来看一下。 这是一款基于JQuery实现的在线选座位插件seat-charts源码…

    2025年3月8日
    200
  • Ajax三种实现方法与AJAX解析JSON

    这次给大家带来Ajax三种实现方法与AJAX解析JSON,Ajax三种实现方法与AJAX解析JSON的注意事项有哪些,下面就是实战案例,一起来看一下。 准备: 1、  prototype.js2、  jquery1.3.2.min.js3、…

    编程技术 2025年3月8日
    200
  • IIS解析json配置使用详解

    这次给大家带来IIS解析json配置使用详解,IIS解析json配置的注意事项有哪些,下面就是实战案例,一起来看一下。 IIS6.0 1.打开IIS添加Mime项 关联扩展名: *.json内容类型(MIME):application/x-…

    编程技术 2025年3月8日
    200
  • asp处理json数据步骤详解

    这次给大家带来asp处理json数据步骤详解,asp处理json数据的注意事项有哪些,下面就是实战案例,一起来看一下。 ASP也能处理JSON数据?呵呵,刚才在Pjblog论坛上看到一个兄弟写的文章,没有测试,不过理论上一定是可以的~ 太晚…

    编程技术 2025年3月8日
    200
  • jQuery有哪些方法终止ajax请求

    这次给大家带来jQuery有哪些方法终止ajax请求,jQuery终止ajax请求的注意事项有哪些,下面就是实战案例,一起来看一下。 jQuery实现ajax的叠加和停止的关键代码如下所示: jQuery中终止Ajax请求 var arra…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论