前面的話
現(xiàn)代Web應(yīng)用中頻繁使用的一項功能就是表單數(shù)據(jù)的序列化,XMLHttpRequest 2級為此定義了FormData類型。FormData為序列化表單以及創(chuàng)建與表單格式相同的數(shù)據(jù)提供了便利。本文將先介紹表單編碼,然后過渡到表單序列化,最后引出FormData的核心概念
表單編碼
當用戶提交表單時,表單中的數(shù)據(jù)(每個表單元素的名字和值)編碼到一個字符串中并隨請求發(fā)送。默認情況下,HTML表單通過POST方法發(fā)送給服務(wù)器,而編碼后的表單數(shù)據(jù)則用做請求主體
對表單數(shù)據(jù)使用的編碼方案相對簡單:對每個表單元素的名字和值執(zhí)行普通的URL編碼(使用十六進制轉(zhuǎn)義碼替換特殊字符),使用等號把編碼后的名字和值分開,并使用"&"符號分開名/值對。一個簡單表單的編碼如下所示
find=pizza&zipcode=01234&radius=1km
表單數(shù)據(jù)編碼格式有一個正式的MIME類型
application/x-www-form-urlencoded
當使用POST方法提交這種順序的表單數(shù)據(jù)時,必須"Content-Type"請求頭為這個值
[注意]這種類型的編碼并不需要HTML表單,在Ajax應(yīng)用中,希望發(fā)送給服務(wù)器的很可能是一個javascript對象
前面展示的數(shù)據(jù)變成javascript對象的表單編碼形式可能是:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26