当前位置: 首页 > news >正文

ajax提交form表单资料详细汇总

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单。通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统普通的网页(不使用ajax)如果需要更新内容,必须重载整个网页页面。

二、通过ajax提交form实现的登录实例:

<body>
		<h1 align="center">用户登录</h1>
		<div align="center" style="font-size: 20px;">
	        <form id="loginForm" name="loginForm" action="${pageContext.request.contextPath}/user/login" method="post">
	          <table  align="center">
					  <tr>
					    <td>用户名:</td>
					    <td colspan="2"><input type="text" name="username" id="username" /></td>
					  </tr>
					  <tr>
					    <td>密  码:</td>
					    <td colspan="2"><input type="password" name="password" id="password" /></td>
					  </tr>
					    <td colspan="3" align="center">
					    	<input id="login_submit_button" type="button" value="登录"  onclick=<span style="color:#ff00;">"loginSubmit</span>(this.form);" />
					    </td>
					  </tr>
				</table>
        	</form>
        </div>
        <div align="center" style="padding:30px;font-size: 15px;">
        	<span style="color: red;">注意:</span>
        	<span  style="color: blue;">
        		只有登录用户才可以上传图片。
        	</span>
        </div>
 </body>

  

<head>
		<title>用户登录</title>
		<script src="${pageContext.request.contextPath}/js/jquery-1.4.min.js" type="text/javascript"></script>
	</head>
	<script type="text/javascript">
		function loginSubmit(form) {
				$.ajax( {
					type : "POST",
					url : "${pageContext.request.contextPath}/user/login",
					data : $("#loginForm")<span style="color:#ff00;">.serialize</span>(),
					success : function(msg) {
						if ((msg == "true")) {
							alert("登录成功。");
							window.location.href = "${pageContext.request.contextPath}/add_user";
						} else {
							if(msg=="false"){
								alert("登录失败。");
							}
						}
					}
				});	
			
	}
	</script>

  三、部分ajax提交form表单实例:

$.ajax({
				cache: true,
				type: "POST",
				url:ajaxCallUrl,
				data:$('#yourformid').serialize(),// 你的formid
				async: false,
			    error: function(request) {
			        alert("Connection error");
			    },
			    success: function(data) {
				    $("#commonLayout_appcreshi").parent().html(data);
			    }
			});

  四、ajax提交表单可以分为两种,一种是无返回结果的,就是将表单数据提交给后台,后台处理完就完了;另一种就是有返回结果的,后台执行成功或失败的信息需要返回到前台。


   1,无返回结果的
   最简单的就是$("#formid").submit();直接将form表单提交到后台。


   2,有返回结果的
   这种方式是使用最多的一种,因为程序的执行成功与否都需要给用户提示,程序一般也都是多步完成的,执行完插入操作,需要发起流程,这就需要在界面上判断成功与否。
   ajax本身属于有返回结果的一类,其中的success方法就是处理后台返回结果的。
   ajax提交表单有返回结果的有两种实现方式:


  1)将form表单数据序列化

<span style="font-size:18px;">  $.ajax({
	type: "POST",
	url:your-url,
	data:$('#yourformid').serialize(),
	async: false,
	error: function(request) {
		alert("Connection error");
	},
	success: function(data) {
		//接收后台返回的结果
	}
  });</span>

  这种方式需要注意的是form表单中的项一定要有name属性,后台获取的键值对为key=name值,value=各项值,注意无论是input标签还是span或者是其他标签,一定要有name属性,没有name属性后台是获取不到该项的


   2)通过窗口查找form提交

<span style="font-size:18px;">  // 提交表单
  var obj = document.getElementById("xx_iframe").contentWindow;
  obj.$("#yourform").form("submit",{
	success :function(data){
		//对结果处理
	}

  });</span>

  

转载于:https://my.oschina.net/gaoxadmin/blog/480894

相关文章:

  • 项目管理学习笔记之二.工作分解
  • 奇异值分解(We Recommend a Singular Value Decomposition)
  • how to loading .desktop files
  • shell练习-远程监控
  • Entity Framework 之三层架构
  • java发送http的get、post请求
  • 在自己的网站添加关注新浪关注按钮
  • go语言的排序和搜索
  • iOS Sprite Kit教程之场景的设置
  • Https通讯原理
  • 通过javamelody监控web应用的性能指标
  • JS将秒转换为 天-时-分-秒
  • Linux下RPM软件包的安装及卸载
  • Ionic系列——Ionic介绍
  • Atom飞行手册翻译: 2.6 代码段
  • gf框架之分页模块(五) - 自定义分页
  • idea + plantuml 画流程图
  • Java 内存分配及垃圾回收机制初探
  • java8-模拟hadoop
  • JavaScript函数式编程(一)
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Netty 4.1 源代码学习:线程模型
  • PAT A1120
  • Redis 懒删除(lazy free)简史
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 复杂数据处理
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 漂亮刷新控件-iOS
  • 前端自动化解决方案
  • 小程序01:wepy框架整合iview webapp UI
  • 译米田引理
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • PostgreSQL之连接数修改
  • 如何正确理解,内页权重高于首页?
  • # Panda3d 碰撞检测系统介绍
  • #Java第九次作业--输入输出流和文件操作
  • #Lua:Lua调用C++生成的DLL库
  • (2020)Java后端开发----(面试题和笔试题)
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (原創) 物件導向與老子思想 (OO)
  • (转)LINQ之路
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET Core 2.1路线图
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @ModelAttribute 注解
  • @property @synthesize @dynamic 及相关属性作用探究
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [Android]如何调试Native memory crash issue