JS异步文件上传(兼容IE8+)


Posted in Javascript onApril 02, 2017

在非html5的情况下是无法用ajax把文件推送到后端的,只能通过form表单提交。但是form表单提交后浏览器会根据响应头与状态码对当前页面进行渲染、下载或跳转等行为,返回text、html、json等类型的内容时浏览器会对当前页面进行渲染,相当于刷新。

所以基本思路很简单,提交上传文件表单时,让浏览器转移到iframe处理响应信息,响应信息嵌入一段js代码,这段js代码调用当前页面的一个方法就可以实现回调,类似于xss攻击。

这时就要用到form表单的target属性,我们这里只需要用到iframename的值,iframename指的是iframe的name属性,意思是转移到iframe处理响应信息。

我这里用的是jsp + spring mvc的实现,代码如下

JS异步文件上传(兼容IE8+)

上传文件的JSP->demo.jsp

后端代码:

JS异步文件上传(兼容IE8+)

回调的JSP->uploadCallback.jsp  注意: 如果上传文件的页面不是顶级窗口,而是一个ifream 就要使用window.parent取得上传文件页面的window对象

JS异步文件上传(兼容IE8+)

效果:

JS异步文件上传(兼容IE8+)

JS异步文件上传(兼容IE8+)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
JQuery动画animate的stop方法使用详解
May 09 Javascript
jquery小火箭返回顶部代码分享
Aug 19 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
jQuery图片轮播插件——前端开发必看
May 31 Javascript
AngularJs Forms详解及简单示例
Sep 01 Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
javascript 取小数点后几位几种方法总结
Aug 02 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 Javascript
使用canvas及js简单生成验证码方法
Apr 02 #Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 #jQuery
JS中正则表达式全局匹配模式 /g用法详解
Apr 01 #Javascript
Vue表单验证插件的制作过程
Apr 01 #Javascript
JS中使用正则表达式g模式和非g模式的区别
Apr 01 #Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 #jQuery
微信小程序网络请求的封装与填坑之路
Apr 01 #Javascript
You might like
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
Python 控制终端输出文字的实例
2019/07/12 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
十八大闭幕感言
2014/01/22 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
文案策划专业自荐信
2014/07/07 职场文书
田径运动会通讯稿
2014/09/13 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
承诺保证书格式
2015/02/28 职场文书
2015年保送生自荐信
2015/03/24 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL