`

用iFrame 无页面刷新上传文件原理 Ajax 文件上传

阅读更多

先申明:用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 无刷新上传文件.zip

    ajax iframe jsp 无刷新上传文件+JavaScript字符串函数大全+如何自定义Struts2表单验证后的错误信息显示格式样式

    Ajax无刷新上传文件( jsp版本)

    本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。 开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地...

    dojo_iframe无刷新上传文件demo.rar

    实例VS2010代码 dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar dojo_iframe无刷新上传文件demo.rar

    ajax实现文件上传

    ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是jsp,其实asp,php等也是一样可以这么实现的

    使用隐藏的Iframe实现ajax无刷新上传

    使用隐藏的Iframe实现ajax无刷新上传

    iframe实现无刷新上传下载

    通过iframe和Jquery实现无刷新上传下载文件。项目是VS2010的。

    php+iframe 无刷新上传

    php+iframe 无刷新上传 外加删除

    jsp无刷新上传文件

    出于安全考虑js是不能操作文件的,而ajax与后台通信都是通过传递字符串所以在jsp中使用iframe实现无刷新提交文件

    通过隐蔽iframe实现无刷新上传文件操作_.docx

    通过隐蔽iframe实现无刷新上传文件操作_.docx

    JSP_模拟AJAX实现无刷新文件上传

    AJAX无法实现文件上传功能,原因是JavaScript安全限制不能对文件执行操作,但是通过IFRAME框架可以模拟实现无刷新效果。虽说是无刷新的,但状态栏会刷新一下。代码是一个JSP的示例。

    通过隐藏iframe实现无刷新上传文件操作

    但是用iFrame来实现无刷新上传文件确实一个很好的选择。 解决办法是通过一个隐藏的iframe来处理上传操作我采用的是ReactJS,amazeui,nodejs 1.html target指向iframe的name,就是把上传后的操作交给iframe来处理. &...

    使用iframe实现点击导航无刷新切换页面

    使用iframe实现点击导航页面无刷切换,使用bootstrap布局

    iframe实现页面局部刷新操作

    使用iframe实现图片上传以及上传后的本页面无刷新展示。运行环境是php和jq

    简便无刷新文件上传系统(asp.net版)

    之前写过一个仿163网盘无刷新多文件上传系统,已经对无刷新上传文件的原理做了详细的分析。 而这次的系统主要是针对单个file控件的,便携版,使用更简单,还有更深入的分析。 兼容:ie6/7/8, firefox 3.5.5, opera ...

    PHP ajax upload无刷新上传图片文件

    Ajax图片无刷新新上传程序,可一次上传多张图片,批量上传图片,显示上传进度条,程序只允许GIF/JPG格式的图像上传,允许其它格式请修改代码,上传程序运行界面如图所示,界面简洁,功能实用,非使用jQuery,完全...

    iframe实现Ajax刷新

    实现ajax刷新技术原理,是你身边的好帮手

    通过Django的form及Ajax等多种方式上传文件

    通过Django的Form方式上传文件,简单,但无法局部刷新实现ajax效果; 通过js或jQuery方式,需要使用FormData对象,仍有些浏览器不兼容; 通过Form+iframe方式上传文件,兼容性最好。 里面含有全部源代码。

    asp.net中MVC借助Iframe实现无刷新上传文件实例

    本文实例讲述了asp.net中MVC借助Iframe实现无刷新上传文件的方法。分享给大家供大家参考。具体实现方法如下: html: 代码如下:”uploadwindow” xss=removed&gt;  &lt;form action=”/ShopActivitys/...

    PHP的AJAX技术实现文件异步上传

    异步的文件上传是在现代的AJAX实现的Web应用里面经常要遇到,必须解决的问题。但是标准的AJAX类(XmlHttpRequest)无法实现传输 文件的功能。因此,这里讨论的内容就是如何在AJAX的技术的基础之上构建异步的文件上传...

    PHP实例开发源码-php使用Iframe无刷新上传的代码.zip

    PHP实例开发源码—php使用Iframe无刷新上传的代码.zip PHP实例开发源码—php使用Iframe无刷新上传的代码.zip PHP实例开发源码—php使用Iframe无刷新上传的代码.zip

Global site tag (gtag.js) - Google Analytics