Ajax請求傳遞data數據三種格式:


ajax有三種傳遞傳遞data的方式:

1、json格式
2、標准參數模式
3、json字符串格式

1.json對象格式:

{“username”:”chen”,”nickname”:”alien”}

$.ajax({
    type:"post",
    url:"/test/saveUser",
    data:{"username":"chen","nickname":"alien"},
    dataType:"json",        //指定響應的data數據類型為JSON對象。
    success: function(data){
        console.log(data);
    }
});

如:當前的Ajax請求是一個POST請求,對請求體中的數據 使用默認的數據編碼,格式如:key1 = value2&key2 = value2 a中的數據變成這樣的格式:key1 = value2&key2 = value2 ,包裝在Http請求體中傳送給后台。
dataType:"json"

dataType:“json” :用來指定服務器返回的data數據類型必須是JSON類型。然后jQuery就會把后端返回的json字符串嘗試通過JSON.parse()解析為js對象。
如果不指定dataType,jQuery 將自動根據 HTTP 包的 MIME 信息來智能判斷,若MIME信息的值為JSON,則jQuery會自動的把data數據轉換成JS對象的json,
接着Script把data傳遞給回調函數進行JS的腳本操作。

2、標准參數模式

形如:
“username=Liudehua & age=50”

$.ajax({
    type:"post",
    url:"/test/saveUser",
    data:"username=chen&nickname=alien",
    dataType:"json", 
    success: function(data){
        console.log(data);
    }
});

$(“#form1”).serialize() 就是把表單的數據拼成這個格式(key1 = value2&key2 = value2)的字符串,然后放在Http請求體中傳給后台!

3.json字符串 ————>只用於post請求
形如:
“{“username”:”chen”,”nickname”:”alien”}”————>JSON對象格式的字符串
或者JSON.stringify({“username”:”chen”,”nickname”:”alien”})————>把JSON對象轉成JSON格式的字符串。

$.ajax({
    type:"post",
    url:"/test/saveUser",
    data:JSON.stringify({"username":"chen","nickname":"alien"}),
    contentType:"json/application"
    dataType:"json",
    success: function(data){
        console.log(data);
    }
});

**這種方式不能用於 Get請求。
原因:
1、因為此種方式發送的請求,后端必須得用@RequestBody進行接收,且接收的是Http請求體中的數據,Get請求沒有請求體。
2、而且此方式的Ajax 必須要添加 contentType:”json/application”這個字段信息。

注意:
1、
若為GET請求,則會把data的數據 附加在 URL 后,
格式如:localhost://findAll ? key1=value1&key2=value2
若為POST請求,則就會把data的數據 放在請求體中。
格式如:key1 = value2&key2 = value2
2、dataType:指定服務器端返回的數據類型。
若不指定,且后端返回的是Json,前端就會自動識別返回的數據是JSON。


免責聲明!

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



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