Ajax json 數據格式


json 是一種與語言無關的數據交換的模式。只是一種數據格式:

ajax :
是么是同步 什么事異步
同步現象:客戶端發送請求到服務端,當服務端返回響應之前,客戶端都處於等待卡死狀態。
異步現象:客戶端發送請求到服務器端,無論服務器是否返回,客戶端都可以隨意做其他的時候,不會卡死。



二原聲js的 ajax 技術這只是作為了解。
(感覺,我要是會了很多技術,或者說技術練熟練了,我感覺寫着還是 很帶勁的,可以寫的很開心,很嗨的,特別是做項目的時候,就是因為自己現在很多知識不熟練,不清楚。很多的代碼要敲是十遍,在腦海中有印象,當然就可以寫的很好了)

function fn1() {
    alert(11);
    //1創建  ajax q引擎對象 ----所有的操作 都是通過引擎對象
    var xmlHttp = new XMLHttpRequest();
    //2 ,綁定監聽---監聽服務器是否已經返回相應的數據
    xmlHttp.onreadystatechange = function() {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            //5 接受相應的數據
            var res = xmlHttp.responseText;
            alert(res);
        }
    }
    //3、綁定地址
    xmlHttp.open("get", "/ajax/AjaxServlet", true);
    //4發送請求

//if是post請求的話:要在send 發送之前寫
 xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlHttp.send();
}
步驟來:1/第一步創建引擎 2/第二步綁定監聽  3/第三步綁定地址 4 /發送請求  ,5 /接受相應的數據,這一步放在第2步的里面。

三 很重要的JSON的數據格式:
1/對象格式:
{"key1":obj,"key2":obj,"key":obj}
    //這個里面的obj如果是字符串,那么就要加引號,如果不是就直接寫
    
2/數組:集合格式:
var json = {
            "key1":"value1",
            "key2":{"firstname":"張","lastname":"三豐","age":100},
            "key3":[
                      {"name":"小雙","age":28,"addr":"揚州"},
                      {"name":"建寧","age":18,"addr":"紫禁城"},
                      {"name":"阿珂","age":10,"addr":"山西"},
                  ]
    };
    alert(json.key2.lastname);
    alert(json.key3[2].name);
其實每一步只需要一步步點出來就可以了。
//java代碼只能返回一個json格式的字符串
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("{\"name\":\"湯姆\",\"age\":21}");
當是post請求的時候,是不需要去管字符集的,因為這里ajax a已經幫你調用過。parseJSONY已經處理過字符集了。其他的就跟平時一樣處理字符集就可以了。


jQuery的ajax技術:重點:
記住要使用:jquery 最重要的前提就是要導包 jquery的包

get 方法 和post 方法  
但是最重要的還是ajax最原始的方法
function fn1(){
        //get異步訪問
        $.get(
            "/WEB22/ajaxServlet2", //url地址
            {"name":"張三","age":25}, //請求參數
            function(data){ //執行成功后的回調函數
                //{\"name\":\"tom\",\"age\":21}
                alert(data.name);
            },
            "json"
        );
    }
    function fn2(){
        //post異步訪問
        $.post(
            "/WEB22/ajaxServlet2", //url地址
            {"name":"李四","age":25}, //請求參數
            function(data){ //執行成功后的回調函數
                alert(data.name);
            },
            "json"
        );
    }
    function fn3(){
        $.ajax({
            url:"/WEB22/ajaxServlet2",
            async:true,
            type:"POST",
            data:{"name":"lucy","age":18},
            success:function(data){
                alert(data.name);
            },
            error:function(){
                alert("請求失敗");
            },
            dataType:"json"
        });
    

async :是否異步,默認是TRUE代表異步。
data :發送到服務器的參數,建議使用json的格式
dateType :服務器端返回的數據類型,常用的text和json 一般都是json
success :成功響應執行的函數,對應的類型是function類型
type:請求方式 ,post /get
url :請求的服務器端地址

今天算是復習了,不得不說效率還是 太慢了一點。這個 不能這個樣子了。
貼吧的代碼,支付寶的代碼, struts2 的 filter 明天面試,改背的一定要好好去背



   





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM