前端和后端交互的方式

 

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请求被拦截。

备注:如有不完整或者错误的地方请多多指教

 

猜你喜欢

转载自www.cnblogs.com/liutianzeng/p/10828615.html