1.前端开发与后台交互的方式
(1)form提交 同步请求
(2)Ajax提交 异步请求 发送json对象
一 、Ajax:异步的javascript和XML
主要优点:
1.异步请求,不妨碍用户浏览页面或者其他操作。
2.局部刷新,无需重新刷新整个页面。
缺点:
1.back和History,对浏览器机制的破坏。
2.安全问题。易受到黑客攻击。
AJAX原理图:
$.ajax({ cache: true, type: "POST", url:‘表单提交的url地址’, data:$('#myformid').serialize(),// 序列化form表单数据,后台解析需要反序列化 async: false,//false表示同步,true表示异步 error: function(request) { alert("请求失败"); }, success: function(data) { console.log(data);//data为服务器处理后返回的数据 alert("请求成功"); } });
二、Form表单提交到后台交互
<form id="myform" name="myform" method="post" onsubmit="return sumbitTest();" action="RegisterAction.action"> <table> <tr> <td>姓名:</td> <td> <input type="text" name="name" /> </td> </tr> <tr> <td>性别:</td> <td> <input type="radio" name="sex" value="1"> 男 <input type="radio" name="sex" value="0"> 女 </td> </tr> <tr> <td>年龄:</td> <td> <select name="age"> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Submit普通提交"> <input type="button" id="ajaxBtn" value="AJAX提交" /> <input type="button" id="jqueryBtn" value="jQuery提交" /> <input type="button" id="jsBtn" value="JS提交" /> <input type="submit" value="onSubmit提交" /> </td> </tr> </table> </form>
form表单提交为同步请求,submit按钮会刷新整个页面
注意在使用ajax提交form表单时,提交按钮应为type=“button”,然后为其绑定点击事件,而不应该为type=“submit”,因为submit按钮会刷新整个页面,从而导致ajax请求被拦截。
备注:如有不完整或者错误的地方请多多指教