为什么使用这两种方法文件上传呢,主要是因为局部刷新问题

上传问题,主要是使用form表单,或者用请求一个文件上传

iframe

大多网站都是有一个整体的固定结构,然后进行局部刷新,我们可以使用AJAX来刷新占位符DIV或者SPAN中的HTML代码的方式去实现。但是HTML片段的编写比整个HTML页面的编写要麻烦。所以许多网站都是使用iframe把整个页面分成几个相对独立的部分,每个部分都是对应一张完整的HTML页面。

下面给出一个例子,是常用的iframe和form的配合使用的方式,很适合在MVC模式的架构下应用,例子非常简单:

主页面:iframe.html

<html>
<head>
<title>ha</title>
</head>
<body> 
<form name="form1"> 
<div>
<iframe name="query" src="test.html"></iframe> 
<iframe name="list"></iframe> 
</div> 
<div> 
<iframe name="theID"></iframe> 
<iframe name="theName"></iframe> 
</div> 
</form> 
</body>

<form name="jumpform" target="theID" action="test.html">
<input type="submit" value="提交">
</form>

</html>

子页面:test.html

<html>
<head>
<title>HELLO</title>
</head>
<body>
BEN Hello!
</body>
</html>

我们看到主页面分成四个独立的块,iframe标签中通过属性src来指定要显示的HTML子页面,这里可以使用Javascript来动态显示。

我们还看到jumpform里面定义了target的值为iframe-theID,这时候,提交该form的时候,返回来的页面就会在theID的iframe中显示了。

target属性: 
_blank ---------- 新开窗口 
_self ----------- 自身 
_top ------------ 主框架 
_parent --------- 父框架 
自定义名字 ----- 出现于框架结构,将会在该名称的框架内打开链接

target这个属性指定所链接的页面在浏览器窗口中的打开方式,它的参数值主要有:_blank、_parent、_self、_top,这些参数值代表的含义如下:

◎_blank,在新浏览器窗口中打开链接文件。

◎_parent,将链接的文件载入含有该链接框架的父框架集或父窗口中。如果含有该链接的框架不是嵌套的,则在浏览器全屏窗口中载入链接的文件,就象_self参数一样。

◎_self,在同一框架或窗口中打开所链接的文档。此参数为默认值,通常不用指定。 
但是我不太理解 
◎_top,在当前的整个浏览器窗口中打开所链接的文档,因而会删除所有框架

webApi fileReader

https://www.ibm.com/developerworks/cn/web/1101_hanbf_fileupload/

iframe和ajax文件上传方法的更多相关文章

  1. iframe实现Ajax文件上传效果示例

    <!doctype html> <html> <head> <meta charset=utf-8> <head> <title> ...

  2. iframe 模拟ajax文件上传and formdata ajax 文件上传

    对于文件上传 有好多种方式,一直想总结 文件上传的方法 今天就来写下 iframe  的文件上传的代码 本人语言表达能里有限,不多说了 直接上代码. 首先看 总体页面. 总共就三个文件. 实际上也就是 ...

  3. form+iframe实现ajax文件上传

    在做文件上传时除了传入文件外,还有附件参数,并且要求不刷新页面,之前是表单提交的方式,现在修改成ajax上传的方式,由于没有选择用插件,所以用form+iframe的方式,并且这种方式对IE8以上及主 ...

  4. jQuery插件AjaxFileUpload实现ajax文件上传时老是运行error方法 问题原因

    今天在用jQuery插件AjaxFileUpload实现ajax文件上传时,遇到一个问题,如图: 老是运行error.无法运行succes方法,追踪ajaxfileupload.js源代码发现: wa ...

  5. AJAX文件上传实践与分析,带HTML5文件上传API。

    对于HTML5已经支持AJAX文件上传了,但如果需要兼容的话还是得用一点小技巧的,HTML5等等介绍,先来看看以前我们是怎么写的. 网上可能会有一些叫AJAX文件上传插件,但在AJAX2.0之前是不可 ...

  6. 兼容ie的jquery ajax文件上传

    Ajax文件上传插件很多,但兼容性各不一样,许多是对ie不兼容的,另外项目中是要求将网页内容嵌入到桌面端应用的,这样就不允许带flash的上传插件了,如:jquery uploadify...悲剧 对 ...

  7. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...

  8. springmvc+ajax文件上传

    环境:JDK6以上,这里我是用JDK8,mysql57,maven项目 框架环境:spring+springmvc+mybaits或spring+springmvc+mybatis plus 前端代码 ...

  9. 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html

    使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },&qu ...

随机推荐

  1. 微信小程序细节

    微信小程序开发几个细节: 1.界面传值 ①全局参数传值 <!--结果--> <view wx:for="{{data}}" class="case pr ...

  2. 06: dorpzone上传下载

    1.1 dropzone上传下载使用 参考博客:https://www.cnblogs.com/fu-yong/p/9053515.html 1.使用dropzone需要引入文件 <link r ...

  3. sudo env

    $ sudo echo "Defaults        env_keep=\"PATH PYTHONPATH LD_LIBRARY_PATH CAFFE_ROOT\"& ...

  4. 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况

    在app.config中的configuration节内添加子节Startup,详细如下: <?xml version="1.0"?><configuration ...

  5. myeclise中创建maven web程序

    myeclipse自带了许多插件,因此使用频率很高,但是对maven框架下web程序似乎不是很好的支持,每次创建web程序总是会报一大堆的异常,因此特此记录一下如何在myeclipse下创建一个web ...

  6. scrapy - Request 中的回调函数不执行

    在 scrapy 中, scrapy.Request(url, headers=self.header, callback=self.parse) 调试的时候,发现回调函数 parse_detail  ...

  7. 《编写高质量代码:Web 前端开发修炼之道》 笔记与读后感

    编写高质量代码:Web 前端开发修炼之道/曹刘阳著. —北京:机械工业出版社,2010.5 第一版 涉及到的知识点: 1. CSS Sprites 在国内很多人叫css精灵,是一种网页图片应用处理方式 ...

  8. Spring Boot 项目中常见注解

    @Autowired 自动导入依赖的 Bean.byType方式.把配置好的 Bean拿来用,完成属性.方法的组装,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作 import org ...

  9. HDU 1848 Fibonacci again and again【博弈SG】

    Problem Description 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的: F(1)=1; F(2)=2; F(n)=F(n-1)+F( ...

  10. Ubuntu package system is broken

    原文链接安装软件的时候出现错误,遇到包管理系统损坏的问题.在askubuntu上找到解决办法,这里进行记录总结:首先:sudo apt-get -f install 强制安装没有下载完成的文件.然后: ...