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 相关文章推荐
csdn 博客的css样式 v3
Feb 24 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
Apr 14 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
Mar 13 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
jQuery中Datatables增加跳转到指定页功能
Feb 08 Javascript
Vue.js实战之组件的进阶
Apr 04 Javascript
JavaScript 中调用 Kotlin 方法实例详解
Jun 09 Javascript
仿淘宝JSsearch搜索下拉深度用法
Jan 15 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 Javascript
canvas绘制折线路径动画实现
May 12 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的call_user_func传reference引发的思考
2010/07/23 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
jQuery 动画基础教程
2008/12/25 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
详解Vue 方法与事件处理器
2017/06/20 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
在Python中实现贪婪排名算法的教程
2015/04/17 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python交易记录整合交易类详解
2019/07/03 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
python deque模块简单使用代码实例
2020/03/12 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
学习委员自我鉴定
2014/01/13 职场文书
销售简历自我评价
2014/01/24 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
小学运动会班级口号
2014/06/09 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
2015年行政部工作总结
2015/04/28 职场文书
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技