Js原生Ajax和Jquery的Ajax

1.什麼是Ajax

  1、什麼是同步,什麼是異步

    同步現象:客戶端發送請求到服務器端,當服務器返回響應以前html

         客戶端都處於等待卡死狀態java

    異步現象:客戶端發送請求到服務器端,不管服務器是否返回響應jquery

         客戶端均可以隨 意作其餘事情,不會被卡死ajax

  2、Ajax的運行原理

    頁面發起請求,會將請求發送給遊覽器的內核中的Ajax引擎中,Ajax引擎會提交請求到服務器端,json

    在這段時間裏,客服端能夠任意進行操做,直到服務器將數據返回Ajax以後,會觸發你設置事件,數組

    從而執行自定義的js邏輯代碼完成某種頁面的功能,實現頁面的局部刷新。服務器

2.js原生的Ajax

五步走app

function f1(){
        //1.建立ajax對象
        var xmlHttp = new XMLHttpRequest();
        //2.綁定監聽函數
        xmlHttp.onreadystatechange = function(){
            //判斷數據是否正常返回
            if(xmlHttp.readyState==4&&xmlHttp.status==200){
                //6.接收數據
                var res = xmlHttp.responseText;
                document.getElementById("span1").innerHTML = res;
            }
        }
        //3.綁定處理請求的地址,true爲異步,false爲同步
        //GET方式提交把參數加在地址後面?key1:value&key2:value
        xmlHttp.open("POST","/ajax/ajax1",true);
        //4.POST提交設置的協議頭(GET方式省略)
        xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        //POST提交將參數,若是是GET提交send不用提交參數
        //5.發送請求
        xmlHttp.send("name=zjj&age=18");
    }

3.Json數據格式

  json是一種與語言無關的數據交換的格式,框架

  做用:異步

    使用ajax進行先後臺數據交換

    移動端與服務端的數據交換

  1、json的格式和解析

      json有兩種格式

        1.對象格式:{key1:value1,key2:value2}

var json = {"name":"xiaou","age":0}

        2.數組/集合格式:[obj,obj,obj....]

 var json = [{"name":"xiaou","age":0},
         {"name":"xiaobei","age":1}]

        兩種格式能夠分別套用

 var json ={
             "key1":"key1",
             "key2":{"name":"xiaou","age":0,"tel":8888888},
             "key3":[{"name":"xiaobei","age":1},
                     {"name":"xiaonian","age":2}]
     }

        json的key是字符串而Json的Value是object

4.Jquery的Ajax技術

  jquery是一個優秀的js框架,對js原生的Ajax進行了封裝

  在封裝後的Ajax的操做更加簡潔,功能更增強大

  與Ajax操做相關方法有以下幾種

  

  常見的三種Ajax請求方法

  1)$.get(url, [data], [callback], [type])

  2)$.post(url, [data], [callback], [type])

  其中:

    url:表明請求的服務器端地址

    data:表明請求服務器端的數據(能夠是key=value形式也能夠是json格式)

    callback:表示服務器端成功響應所觸發的函數(只有正常成功返回才執行)

    type:表示服務器端返回的數據類型(jquery會根據指定的類型自動類型轉換)

    經常使用的返回類型:text、json、html等  

  3)$.ajax( { option1:value1,option2:value2... } );

    經常使用的option有以下:

    async:是否異步,默認是true表明異步

    data:發送到服務器的參數,建議使用json格式

    dataType:服務器端返回的數據類型,經常使用text和json

    success:成功響應執行的函數,對應的類型是function類型

    type:請求方式,POST/GET

    url:請求服務器端地址

  最簡單的提交例子

function f1(){
        $.get("/ajax/ajax2",{"name":"張三","age":18},function(data){alert(data.name);},"json");
    }
    function f2(){
        $.post("/ajax/ajax2",{"name":"李四","age":18},function(data){alert(data.age)},"json");
    }
    function f3(){
        $.ajax(    {
                url:"/ajax/ajax2",
                async:true,
                data:{"name":"李四","age":28},
                dataType:"json",
                success:function(data){alert(data.age);},
                error:function(){alert("請求錯誤");},
                type:"POST"
                });
    }

5.json解析jar

  將java的對象或集合轉成json形式的字符串

  json的轉換插件是經過java的一些工具,直接將java的對象和集合轉換成json 的字符串

  常見的json轉換工具備:

    1)jsonlib

    2)Gson:google

    3)fastjson:阿里巴巴

相關文章
相關標籤/搜索