先申明:用Ajax 是无法上传文件的。
不过,Ajax 主要的特性就是页面无刷新,所以这个特性可以用iFrame 来模拟。
基本原理是 Form 的 target 属性指向一个 iFrame。最基本的代码如下:
<html> <head> <meta charset='UTF-8' /> <script src="jquery-1.11.0.js" type="text/javascript"></script> <script > $(function(){ //检查iFrame load 事件的返回内容 $('#fr1').load(function(){ var iw=this.contentWindow || this.contentDocument ; alert(iw.document.body.innerHTML); }); }) </script> </head> <body> <!-- 关键是target='hideFrameName' --> <form id='form1' action='todo.php' method="POST" enctype="MULTIPART/FORM-DATA" target='hideFrameName' > <input type="text" name='name'/><br/> <input type='file' name='file1'/><br/> <input type='submit' >OK</button><br/> </form> <!-- 隐藏的iFrame --> <iframe id='fr1' src="" name='hideFrameName' style='display:none'> </iframe> </body> </html>
服务端文件 todo.php
<?php echo 'Great';
点击‘OK'后,将得到提示:Great
事情就这样简单。
当然 ,以上代码还很简单,完整的功能还应当包括:
1. 封装成一个函数(类)
2. 服务器返回的错误检测
3. 返回内容的检测 ,比如:如果是 XML ,给出XML
4.. 提交额外的字段
相关推荐
ajax iframe jsp 无刷新上传文件+JavaScript字符串函数大全+如何自定义Struts2表单验证后的错误信息显示格式样式
本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。 开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地...
实例VS2010代码 dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar
ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是jsp,其实asp,php等也是一样可以这么实现的
使用隐藏的Iframe实现ajax无刷新上传
通过iframe和Jquery实现无刷新上传下载文件。项目是VS2010的。
php+iframe 无刷新上传 外加删除
出于安全考虑js是不能操作文件的,而ajax与后台通信都是通过传递字符串所以在jsp中使用iframe实现无刷新提交文件
通过隐蔽iframe实现无刷新上传文件操作_.docx
AJAX无法实现文件上传功能,原因是JavaScript安全限制不能对文件执行操作,但是通过IFRAME框架可以模拟实现无刷新效果。虽说是无刷新的,但状态栏会刷新一下。代码是一个JSP的示例。
但是用iFrame来实现无刷新上传文件确实一个很好的选择。 解决办法是通过一个隐藏的iframe来处理上传操作我采用的是ReactJS,amazeui,nodejs 1.html target指向iframe的name,就是把上传后的操作交给iframe来处理. &...
使用iframe实现点击导航页面无刷切换,使用bootstrap布局
使用iframe实现图片上传以及上传后的本页面无刷新展示。运行环境是php和jq
之前写过一个仿163网盘无刷新多文件上传系统,已经对无刷新上传文件的原理做了详细的分析。 而这次的系统主要是针对单个file控件的,便携版,使用更简单,还有更深入的分析。 兼容:ie6/7/8, firefox 3.5.5, opera ...
Ajax图片无刷新新上传程序,可一次上传多张图片,批量上传图片,显示上传进度条,程序只允许GIF/JPG格式的图像上传,允许其它格式请修改代码,上传程序运行界面如图所示,界面简洁,功能实用,非使用jQuery,完全...
实现ajax刷新技术原理,是你身边的好帮手
通过Django的Form方式上传文件,简单,但无法局部刷新实现ajax效果; 通过js或jQuery方式,需要使用FormData对象,仍有些浏览器不兼容; 通过Form+iframe方式上传文件,兼容性最好。 里面含有全部源代码。
本文实例讲述了asp.net中MVC借助Iframe实现无刷新上传文件的方法。分享给大家供大家参考。具体实现方法如下: html: 代码如下:”uploadwindow” xss=removed> <form action=”/ShopActivitys/...
异步的文件上传是在现代的AJAX实现的Web应用里面经常要遇到,必须解决的问题。但是标准的AJAX类(XmlHttpRequest)无法实现传输 文件的功能。因此,这里讨论的内容就是如何在AJAX的技术的基础之上构建异步的文件上传...
PHP实例开发源码—php使用Iframe无刷新上传的代码.zip PHP实例开发源码—php使用Iframe无刷新上传的代码.zip PHP实例开发源码—php使用Iframe无刷新上传的代码.zip