在ajax还没有流行起来的时候,因为表单使用form的action进行页面跳转提交,所以不存在什么问题。
自从ajax流行起来之后,一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦。后来在网上查了一下,基本都没有比较好的解决办法,所以还是对这种特殊的表单使用页面跳转方式提交。最近看到同事用一种伪ajax方式解决了此问题。其基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数据提交成功之后的回调函数中,通过form单独提交文件,而这个提交文件的form的target就指向前述隐藏的iframe。代码如下(注意form的target属性指向隐藏的iframe):
<form style="padding:0px;margin:0px;" target="upload" action="/xxx/xx.do" id="uploadForm" name="uploadForm" encType="multipart/form-data" method="post">
<input type="file" id=""attachFile/>
</form>
<iframe name="upload" style="display:none"></iframe>
上述伪ajax方法的缺点是,表单数据和文件数据不能做到一个事物里面,如果后面文件上传失败(比如网络中断、服务器down掉等),则前面上传的表单数据算是垃圾数据了。当然这个在对数据一致性要求不是很高的环境,还是不错的解决办法。
分享到:
相关推荐
首先要知道, ajax无法发送带有文件的post请求所以,所以还是要用同步的方式,但是刷新的时候,我们不要在原来的页面刷新,去一个隐藏的iframe里面刷新,form表单中action正常填写处理文件上传的操作。紧着着的...
ajax操作-伪ajax(iframe) ajax操作-时机选择 文件上传(3种方式)-1 文件上传-时机选择及预览-2 图片验证码 KindEditor基本使用和文件操作 作业 第25周 今日内容概要 博客系统示例预览 组合搜索组件 JSONP跨域...
【增加】字段类型为表单类型时,增加文件上传和多行文本框 【增加】为ckeditor编辑器增加多图上传按钮 【增加】采集时,字段内容为空时,可以不采集此条内容。 【修复】百度编辑器上传漏洞。 【增加】栏目自由...
【增加】字段类型为表单类型时,增加文件上传和多行文本框 【增加】为ckeditor编辑器增加多图上传按钮 【增加】采集时,字段内容为空时,可以不采集此条内容。 【修复】百度编辑器上传漏洞。 【增加】栏目自由...
5.加强前台提交表单信息的安全过滤 6.修复几个细节BUG 2014年04月30日 V2.84更新包(推荐升级) 1.修复安装向导配置时对数据库字符过滤不严存在入侵漏洞 2.修复后台模板样式文件字符过滤不严存在入侵漏洞 3.修复...
9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 ...
9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 ...
9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 ...
9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 ...
9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 9-26 2 javascript基本介绍 9-26 3 javascript变量 标识符规范 9-26 4 ...
通过AJAX实现无刷新评论功能.即评论文章不会刷新整个网页. 15.后台支持往文章系统批量发表图片或发表组图功能 16.支持续页发表功能,比如一篇文章太长,可以分多页,并且由此可以实现长篇小说功能. 17.文章可以实现提前...
7.3.4 格式化提交数据:ext.data.writer.writer、ext.data.writer.json和ext.data. writer.xml / 322 7.3.5 writer对象的配置项 / 325 7.4 数据模型 / 326 7.4.1 概述 / 326 7.4.2 数据类型及排序类型:ext....