$.ajax使用总结(一):Form提交与Payload提交
生活随笔
收集整理的這篇文章主要介紹了
$.ajax使用总结(一):Form提交与Payload提交
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://blog.csdn.net/yiifaa/article/details/73468001
***************************************************
后端處理前端提交的數據時,既可以使用Form解析,也可以使用JSON解析Payload字符串。
Form解析可以直接從Request對象中獲取請求參數,這樣對象轉換與處理相對容易,但在大片JSON數據需要提交時,可能會出現大量的數據拆分與處理工作,另外針對集合類型的處理,也是其比較孱弱的地方。
而Payload的優勢是一次可以提交大量JSON字符串,但無法從Request從獲取參數,也會受限于JSON解析的深度(尤其是有多層對象級聯的情況,最底層的對象幾乎無法轉換為具體類型)。
以Chrome瀏覽器為例,它們提交時的網絡參數截圖如下所示:
以下是Payload的提交方式:
具體到是實現上,$.ajax默認的實現方式就是Form提交,核心在于contentType的設置上,如下:
var data = {name : 'yiifaa' }; // 提交數據 $.ajax('app/', {method:'POST',// 將數據編碼為表單模式contentType:'application/x-www-form-urlencoded; charset=UTF-8',// 數據必須為JS對象,不可是字符串 data : data,success : function(datas) {console.log(datas)} })而Payload提交方式的實現如下:
$.ajax('app/', {// 據我測試了多次,payload只能用于POST方式method:'POST',// 數據類型必須為application/x-www-form-urlencoded之外的類型contentType:'application/json;charset=utf-8', charset=UTF-8',// 數據必須轉換為字符串data : JSON.stringify(data),success : function(datas) {console.log(datas)} })結論
Form提交與Payload雖然都能提交數據,但它們的應用場景差異較大,需要準確理解它們的差異才是應用得當的前提。
?
轉載于:https://www.cnblogs.com/zhao1949/p/7736288.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的$.ajax使用总结(一):Form提交与Payload提交的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程系列5--java中的ThreadL
- 下一篇: vue2.0 练习项目-外卖APP(2)