Form表单实现异步的提交


问题描述

<form>标签的一般情况下的默认写法是

<!-- 在method写提交方式 action写Servlet-->
<form method="" action="">
</form>

但是这样提交form表单是非异步提交,在servlet不改变url的情况下,相当于重新刷新页面,这样就会导致几个问题:
1.浪费额外的链接资源
2.如果本页面还存在以前请求返回有用数据,这些数据也会被刷新
所以有时要实现Form表单的提交是非常有用的


解决方式

一、通过<iframe>伪异步提交

<form method="" action="" target="nm_iframe">
</form>
<iframe name="nm_iframe"style="display:none;">
</iframe>

注:此时form进行的刷新是在iframe中进行的,返回的数据也是这里面会显示(如返回的404的错误页面)
二、通过Ajax实现异步提交
<form>标签只填写id

<!-- THML代码 -->
<form id="Myform">
</form>

使用JS的Ajax方式

//JS代码
//使用jquery 此处我只展示POST的提交,其他同理
$.post("//servlet", $('#Myform').serialize(),function (data, textStatus, jqXHR) {//data 响应的数据},"json");

这一种方式比较推荐,但是需要引入jquery,读者也可以使用js写源生Ajax的访问方式


以上两种方式都可以实现form的异步的提交

Form表单实现异步的提交相关推荐

  1. php阻止form提交表单提交,防止表单提交时刷新页面-阻止form表单的默认提交行为...

    最近在写 ajax 提交的时候遇到一个问题,在执行 ajax 提交之后,浏览器页面自动刷新了,主要是没有 由于form 表单的默认提交行为.一下是几种阻止 form 表单默认提交行为的方式. 1.使用 ...

  2. php表单转json对象,form表单转Json提交的方法(推荐)

    form表单转Json提交的方法(推荐) 先将表单数值转换成数组存储,存储成的格式为[{"name":"","value":"&q ...

  3. Form表单之get提交与post提交

                                     Form表单之get提交与post提交 Form表单的属性action 与method:   属性           值      ...

  4. form表单用butten提交后无反应表单提交三种方式

    form表单用butten提交后无反应&表单提交三种方式 一,表单提交无反应 有时候,我们发现表单提交的butten按钮,根本就没niao用.鼠标都点烂了,也提交不上去.找了半天什么错误也没找 ...

  5. form表单的多种提交方式及提交前验证

    以下是本人总结处来的一些form的提交方式,网上还有别的提交方式,这里我总结了大小分为7类,其实就是三类的提交方式,若有哪里不对的,还请评论指出来,大家一起学习学习 1.无任何验证提交(最普通的提交) ...

  6. jquery表单ajax json数据,jquery序列化form表单使用ajax提交后处理返回的json数据

    1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...

  7. form表单的多种提交方式

    在项目开发中自己总结的form表单的集中提交方式: 1,<input type="submit"> 提交按钮提交表单. 例: <!DOCTYPE html> ...

  8. 利用beforeSend实现提交加载中、form表单的重复提交等前端功能

    前文   在用JQ+bootstrap写前端的时候,有时需要实现点击按钮后失效的功能,比如下载按钮,为了避免网络延迟而引起的页面不及时跳转,让用户多次点击按钮,造成的服务器压力和用户体验就都不友好.发 ...

  9. Form表单 回车(Enter)提交表单问题

    Form表单 回车(Enter)提交表单问题 在Form表单中input会自动响应回车事件.这是表单的默认提交动作. 表单的提交行为,可以用两种方式定义,一是form表单自身,二是form表单的but ...

最新文章

  1. 《ABAQUS 6.14超级学习手册》——1.2 ABAQUS分析模块
  2. HDU-1025 Constructing Roads In JGShining's Kingdom
  3. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)
  4. 搭建Android的jenkins持续集成环境
  5. [再寄小读者之数学篇](2014-05-23 递增函数的右极限)
  6. MySql数据的启动和停止以及SQLyog图形化工具的下载
  7. [e袋购APP]高校物业管理的特点
  8. 使用kubeasz自动化部署K8s
  9. 【POJ 3580】 SuperMemo
  10. 误差反向传播法实现手写数字识别(纯numpy实现)
  11. pycharm异常问题之Unable to save settings: Failed to save settings. Please restart PyCharm
  12. arcgis里dem填洼_基于多尺度窗口的DEM局部填洼方法
  13. 用C/C++写一个简单的音乐播放器(基于windows控制台编程)
  14. 华中农业大学计算机学院院长,魏小梅-华中农业大学-信息学院
  15. C语言练习:该存多少钱
  16. 西安80转2000坐标参数_【技术】西安80坐标与地方坐标系的转换方法技巧
  17. 什么是OJ _OJ是什么?
  18. 阵列卡直通模式和raid模式_DNF:希洛克Raid攻略,一不小心就被全屏秒杀
  19. 电磁场与电磁波(1)——简史
  20. 操作系统概论知识总结

热门文章

  1. html 井号 转义,url中出现井号(#)的问题
  2. 一些文件转化操作:base64转url、url转二维码、多文件转压缩下载
  3. 理论:系统安全及应用
  4. 【C语言】出租车计价
  5. Evernote(印象笔记) 如何迁移到语雀?
  6. 揭秘APP软件开发者百万富翁之路 造程序的工厂.2487 - 牛肉的营养价值
  7. 钢条切割问题——递归求解法
  8. 关于idea利用wsdl文件调用相关接口的问题
  9. three.js中的平行光与环境光,你知道多少?
  10. arcgis for android 地图查询并定位