一 表单提交到了哪里?php
咱们都知道表单提交到服务器,java,php,asp等服务器,而后由服务器去读。那么以后呢,服务器总要返回点什么吧,要么返回 一个xml或json数据,要么返回一个页面,要么返回一个页面片断,可是返回到哪里了,这些结果在哪里展现?其实这就是经常被忽略的一个问题,尤为是 ajax用多了,以为无刷新是理所固然的。在默认状况下,在什么页面提交的,就会将返回的数据(json或页面或页面片断)给这个页面。这里的页面指一个 框架,带有<html></html>结构的html页。html
这样一来,当在A页面提交了一个表单,服务器返回了 一个信息,表示成功了,此时,返回的数据会给A页面,因而,A页面就"刷新"了一次。2005年,出现了异步刷新ajax。这样就能够“局部刷新”了,向 服务器提交数据时,不用经过表单了,能够经过浏览器对象来提交,服务器返回数据到该浏览器对象,这样即可以实现“局部刷新”了。java
可是ajax有个致命问题,不能提交文件。怎么办?上传图片不能异步请求了 。。。ajax
二 文件还得用表单来提交json
为了克服ajax不能提交文件的问题,咱们又想起了表单。当表单的enctype=multipart/form-data时,就能够上传文件了。但是这样又须要整个页面刷新,问题来了,两个难以同时知足。浏览器
方法老是有的。因而出现了经过设置表单的target=xxxxIframe的方法。这样意味着表单提交到一个无关的页面,服务器返回时也返回到这个页 面,再在这个无关的页面进行js操做,改变须要更新的页面区域。而整个表单提交过程当中,无关页面都是隐藏的,是个幕后推手。这就是 target=xxxxIframe的做用。服务器
三 target属性框架
target完整的属性可能值是:异步
_self:默认值,在原页面打开。orm
_blank:在新窗口打开。
_parent:在父窗口打开。
_top:在顶级窗口打开。
_frameName(xxxxIframe):在指定窗口打开。