`

用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.. 提交额外的字段

 

分享到:
评论

相关推荐

    php+iframe 无刷新上传

    在这里,“php+iframe 无刷新上传”是指利用`PHP`处理文件上传,同时结合`iframe`技术,使得用户在上传文件时页面不发生整体刷新,提供更好的用户体验。 1. **PHP文件上传原理** PHP文件上传主要依赖`$_FILES`全局...

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

    然而,我们可以利用IFRAME(Inline Frame)来模拟实现AJAX式的无刷新文件上传,以达到类似的效果。 首先,我们需要理解AJAX的工作原理。AJAX允许我们在后台与服务器进行通信,更新部分网页内容,而无需刷新整个页面...

    ajax jsp 无刷新上传文件

    ### AJAX与JSP结合实现无刷新文件上传 在Web开发领域,用户体验的优化始终是开发者追求的目标之一。其中,无刷新文件上传作为一种提高用户交互体验的技术手段,在实际应用中非常常见。本文将详细介绍如何利用AJAX与...

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

    使用隐藏的Iframe实现Ajax无刷新上传的基本思路是:创建一个隐藏的Iframe作为文件上传的目标,当用户选择文件并提交表单后,表单数据会通过POST方式发送到服务器端处理文件上传操作。由于Iframe的存在,上传过程不会...

    无刷新文件上传实例

    二、Ajax文件上传 1. XMLHttpRequest对象:这是Ajax的核心,可以创建HTTP请求并与服务器进行异步通信。在文件上传中,我们需要设置其`open()`方法为`POST`,并设置`enctype`属性为`multipart/form-data`,因为文件...

    Ajax上传文件(无需表单)实测可用

    首先,要理解Ajax上传文件的工作原理。传统的文件上传通常依赖于`&lt;form&gt;`元素,该元素的`enctype`属性设置为`multipart/form-data`,然后通过`&lt;input type="file"&gt;`让用户选择文件。然而,这种方式会导致页面刷新,...

    基于ASP的Ajax无刷新文件上传.zip

    4. **Ajax与文件上传**:传统的文件上传会导致页面刷新,而Ajax通过创建XMLHttpRequest对象,在后台发送文件,避免了页面刷新。通常,会有一个隐藏的iframe用来处理上传响应,因为文件上传通常需要multipart/form-...

    Ajax无刷新上传

    Ajax无刷新上传是一种在网页上实现文件上传而无需页面刷新的技术,它极大地提升了用户体验,使得用户可以在不离开当前页面的情况下完成文件提交。这种技术主要基于JavaScript的Ajax(Asynchronous JavaScript and ...

    AjaxUpload.rar 文件上传

    AjaxUpload的核心是利用XMLHttpRequest对象与服务器进行交互,通过创建隐藏的iframe来处理文件上传,使得上传过程对用户来说几乎是透明的。 **一、AjaxUpload的工作原理** 1. 用户选择文件:在前端页面上,Ajax...

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

    在PHP开发中,实现无刷新上传文件是一种常见的需求,它能提供更好的用户体验,避免页面在整个上传过程中刷新,保持用户界面的连续性。本实例通过Iframe技术实现了这一功能,下面将详细讲解其工作原理和核心代码。 ...

    ASP.NET使用jquery插件无刷新上传文件

    总的来说,ASP.NET结合jQuery的`ajaxfileupload.js`插件实现了前端无刷新文件上传,它利用`iframe`和`form`避免了页面刷新,通过`jQuery.ajax`接口与服务器进行异步通信。在ASP.NET后端,我们需要设置合适的处理程序...

    真正实现ajax上传文件 兼容IE6789火狐谷歌世界之窗

    Ajax上传文件提供了一种无刷新页面的用户体验,使得用户在上传文件时不必等待页面重新加载。本文将详细探讨如何真正实现这个功能,并确保在多种浏览器中都能正常工作。 首先,让我们理解Ajax的核心原理。Ajax(异步...

    php+jquery无刷新上传图片

    无刷新上传是指用户在提交表单后,页面不会重新加载或跳转,而是通过后台处理数据并返回结果,通常借助Ajax技术实现。在这种情况下,我们使用jQuery来编写前端交互代码,PHP作为后端服务器端脚本处理图片上传。 **...

    ajax(iframe)无刷新提交表单、上传文件

    在这个例子中,目标iframe被隐藏起来,从而实现了无刷新上传文件。 #### 4. 文件上传的原理 文件上传功能是通过在HTML表单中包含一个`&lt;input type="file"&gt;`元素实现的。用户可以通过这个元素选择一个文件。当表单...

    AJAXFileUpload ajax 异步文件上传 进度条

    AJAXFileUpload是一种基于AJAX技术的异步文件上传组件,它允许用户在不刷新页面的情况下上传文件,并且可以实时显示上传进度,提供良好的用户体验。本文将深入探讨AJAXFileUpload的工作原理、实现方式以及其在实际...

    javascript多文件上传 无刷新

    3. **无刷新上传**:结合Ajax技术,在后台异步处理文件上传请求,无需重新加载整个页面即可完成文件上传操作,从而实现页面无刷新效果。 #### 五、总结 通过上述分析可知,“JavaScript多文件上传无刷新”技术主要...

    js加iframe轻松实现异步图片上传 可以预览 兼容FF,chrome,ie9

    在图片上传场景下,IFrame常用于解决跨域问题和模拟POST提交,因为它可以创建一个独立的上下文环境,使得文件上传操作不会影响到主页面。 以下是实现步骤: 1. 创建一个`&lt;input type="file"&gt;`元素,让用户选择需要...

    使用ajaxupload.js/ajaxfileupload.js实现文件上传

    在JavaScript的世界里,Ajax技术使得这种操作可以在不刷新页面的情况下完成,提供了更好的用户体验。`ajaxupload.js` 和 `ajaxfileupload.js` 是两个用于实现异步文件上传的JavaScript库,它们简化了这个过程并提供...

    .net文件上传控件

    3. **AJAX上传**:为了提供更好的用户体验,通常会采用异步(AJAX)方式进行文件上传,避免页面刷新。例如,可以使用jQuery插件如Uploadify或本文提到的Uploadifive。Uploadifive是一个流行的jQuery文件上传插件,...

    AJAXFileUpload ajax 异步文件上传

    AJAXFileUpload是实现这一功能的一种技术手段,它利用Ajax技术实现了文件的无刷新上传,同时结合进度条展示,使得用户可以清晰地看到文件上传的状态,提升用户体验。 **Ajax基础** Ajax(Asynchronous JavaScript ...

Global site tag (gtag.js) - Google Analytics