时间:2021-05-26
在非html5的情况下是无法用ajax把文件推送到后端的,只能通过form表单提交。但是form表单提交后浏览器会根据响应头与状态码对当前页面进行渲染、下载或跳转等行为,返回text、html、json等类型的内容时浏览器会对当前页面进行渲染,相当于刷新。
所以基本思路很简单,提交上传文件表单时,让浏览器转移到iframe处理响应信息,响应信息嵌入一段js代码,这段js代码调用当前页面的一个方法就可以实现回调,类似于xss攻击。
这时就要用到form表单的target属性,我们这里只需要用到iframename的值,iframename指的是iframe的name属性,意思是转移到iframe处理响应信息。
我这里用的是jsp + spring mvc的实现,代码如下
上传文件的JSP->demo.jsp
后端代码:
回调的JSP->uploadCallback.jsp注意: 如果上传文件的页面不是顶级窗口,而是一个ifream 就要使用window.parent取得上传文件页面的window对象
效果:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
首先说下axios虽说是支持ie8+,不过其原理是基于promise之上实现的所以会有不兼容ie的问题也就是trident内核的全不行,会报:vuexrequi
bootstrapIE8兼容性处理BootstrapIE8兼容性左侧右侧针对IE8仍然需要额外引入Respond.js文件以支持媒体查询(mediaquery)
使用ajaxfileupload.js实现上传文件功能一、ajaxFileUpload是一个异步上传文件的jQuery插语法:$.ajaxFileUpload(
众所周知区别ie6~8的方法是:复制代码代码如下:width:10px;//chromewidth:10px\9;//ie8+*width:10px;//ie7
本文实例为大家分享了jquery实现异步文件上传的具体代码,供大家参考,具体内容如下ajaxfileupload.js异步上传文件:直接引用。调用方法:$.aj