ajax提交form表单资料详细汇总
一、ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单。通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统普通的网页(不使用ajax)如果需要更新内容,必须重载整个网页页面。
二、通过ajax提交form实现的登录实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <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> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <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表单实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $.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表单数据序列化
1 2 3 4 5 6 7 8 9 10 11 12 | <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提交
1 2 3 4 5 6 7 8 | <span style= "font-size:18px;" > // 提交表单 var obj = document.getElementById( "xx_iframe" ).contentWindow; obj.$( "#yourform" ).form( "submit" ,{ success :function(data){ //对结果处理 } });</span> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步