`
midstr
  • 浏览: 31963 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

伪ajax方式提交带文件上传的表单

    博客分类:
  • java
阅读更多

       
       在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掉等),则前面上传的表单数据算是垃圾数据了。当然这个在对数据一致性要求不是很高的环境,还是不错的解决办法。
分享到:
评论

相关推荐

    JavaScript实现图片伪异步上传过程解析

    首先要知道, ajax无法发送带有文件的post请求所以,所以还是要用同步的方式,但是刷新的时候,我们不要在原来的页面刷新,去一个隐藏的iframe里面刷新,form表单中action正常填写处理文件上传的操作。紧着着的...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    ajax操作-伪ajax(iframe) ajax操作-时机选择 文件上传(3种方式)-1 文件上传-时机选择及预览-2 图片验证码 KindEditor基本使用和文件操作 作业 第25周 今日内容概要 博客系统示例预览 组合搜索组件 JSONP跨域...

    易点内容管理系统 DianCMS v6.4.0 ACC版.zip

    【增加】字段类型为表单类型时,增加文件上传和多行文本框 【增加】为ckeditor编辑器增加多图上传按钮 【增加】采集时,字段内容为空时,可以不采集此条内容。 【修复】百度编辑器上传漏洞。 【增加】栏目自由...

    易点内容管理系统 DianCMS v6.4.0 SQL版.zip

    【增加】字段类型为表单类型时,增加文件上传和多行文本框 【增加】为ckeditor编辑器增加多图上传按钮 【增加】采集时,字段内容为空时,可以不采集此条内容。 【修复】百度编辑器上传漏洞。 【增加】栏目自由...

    文章管理系统

    5.加强前台提交表单信息的安全过滤 6.修复几个细节BUG 2014年04月30日 V2.84更新包(推荐升级) 1.修复安装向导配置时对数据库字符过滤不严存在入侵漏洞 2.修复后台模板样式文件字符过滤不严存在入侵漏洞 3.修复...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    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 ...

    史上最全传智播客PHP就业班视频课,8月份视频

    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 ...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    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 ...

    (全)传智播客PHP就业班视频完整课程

    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 ...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    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 ...

    PHP168建站系统

    通过AJAX实现无刷新评论功能.即评论文章不会刷新整个网页. 15.后台支持往文章系统批量发表图片或发表组图功能 16.支持续页发表功能,比如一篇文章太长,可以分多页,并且由此可以实现长篇小说功能. 17.文章可以实现提前...

    Ext Js权威指南(.zip.001

    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....

Global site tag (gtag.js) - Google Analytics