AJAX提交与FORM提交的区别说明
2014-02-07 00:00
211 查看
现在来对比一下ajax与隐藏form提交的利与弊。
1.隐藏form提交,更新数据完成后,需要转到一个空白页面再对原页面进行提交后处理;ajax则不用,可以直接返回原页面进行提交后的处理。可见ajax可以比隐藏form提交少增加一个页面。
2.ajax出于安全性考虑,不能对文件进行操作,所以就不能通过ajax来实现文件上传,而通过隐藏form提交则可以实现这个功能,所以这就是目前用隐藏form提交的主要用途。
现在接下来讲述如何通过隐藏form来实现文件上传
1)首先定义一个用于填写表单内容的form
<form name="form1"></form>
2)接着定义一个用于提交的form
<form name="form2" target="myIframe"> //用于指定提交返回的页面显示在这个隐藏的iframe中
<iframe name="myIframe" style="display:none"></iframe> //用于存放提交返回后的空白页面
<div id="formInner" style="display:none"></div> //用于获取form1的html内容,获得form1的表单元素
</form>
3)在form1提交时,进行如下javascript处理
var formInner= document.getElementById("formInner");
formInner.innerHTML = form1.innerHTML; //复制form1的html代码
form2.action = form1.action;
form2.submit();
4)提交后,进入后台处理,后台处理完成后,需要返回一个空白页面blank.jsp,这个页面是在隐藏的iframe中生成的,所以可以通过parent对象对原页面进行操作。
比如原页面定义了一个updatePageFromSubmit(),则在blank.jsp页面中可以通过parent.updatePageFromSubmit()来调用进行提交返回后的处理
1.隐藏form提交,更新数据完成后,需要转到一个空白页面再对原页面进行提交后处理;ajax则不用,可以直接返回原页面进行提交后的处理。可见ajax可以比隐藏form提交少增加一个页面。
2.ajax出于安全性考虑,不能对文件进行操作,所以就不能通过ajax来实现文件上传,而通过隐藏form提交则可以实现这个功能,所以这就是目前用隐藏form提交的主要用途。
现在接下来讲述如何通过隐藏form来实现文件上传
1)首先定义一个用于填写表单内容的form
<form name="form1"></form>
2)接着定义一个用于提交的form
<form name="form2" target="myIframe"> //用于指定提交返回的页面显示在这个隐藏的iframe中
<iframe name="myIframe" style="display:none"></iframe> //用于存放提交返回后的空白页面
<div id="formInner" style="display:none"></div> //用于获取form1的html内容,获得form1的表单元素
</form>
3)在form1提交时,进行如下javascript处理
var formInner= document.getElementById("formInner");
formInner.innerHTML = form1.innerHTML; //复制form1的html代码
form2.action = form1.action;
form2.submit();
4)提交后,进入后台处理,后台处理完成后,需要返回一个空白页面blank.jsp,这个页面是在隐藏的iframe中生成的,所以可以通过parent对象对原页面进行操作。
比如原页面定义了一个updatePageFromSubmit(),则在blank.jsp页面中可以通过parent.updatePageFromSubmit()来调用进行提交返回后的处理
相关文章推荐
- 通过遮罩层实现浮层DIV登录的js代码
- jquery 淡入淡出效果的简单实现
- jquery select 设置默认选中的示例代码
- jquery操作select详解(取值,设置选中)
- JQUERY 设置SELECT选中项代码
- Ajax提交与传统表单提交的区别说明
- jquery ajax传递中文参数乱码问题及解决方法说明
- jquery.ajax的url中传递中文乱码问题的解决方法
- jquery Ajax 实现加载数据前动画效果的示例代码
- JQuery与Ajax调用新浪API获取短网址的代码
- jQuery获取当前对象标签名称的方法
- javascript运行机制之this详细介绍
- Select标签下拉列表二级联动级联实例代码
- 二叉树的非递归后序遍历算法实例详解
- MySQL字段自增自减的SQL语句示例介绍
- 16则极具内涵的程序员笑话
- fsockopen用feof读取http响应内容的一些问题
- PHP fsockopen受服务器KeepAlive影响的解决
- fsockopen与HTTP 1.1/HTTP 1.0
- 5 Trends a Stylish Bride would love to Know in 201