1)、http 協議是以 ascii 碼 傳輸,建立在 tcp/ip 協議之上的應用層規範。規範把 http 請求分為三個部分:狀態行、請求頭、訊息主體。
2)、協議規定 post 提交的資料必須放在訊息主體(entity-body)中,但協議並沒有規定資料必須 使用什麼編碼方式 。實際上,開發者完全可以自己決定訊息主體的格式,只要最後傳送的 http 請求滿足上面的格式就可以。
3)、資料傳送出去,還要服務端解析成功才有意義。一般服務端語言如 php、python 等,以及它們的 framework,都內建了自動解析常見資料格式的功能。服務端通常是根據請求頭(headers)中的 content-type 欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。
form表單中enctype屬性可以用來控制對表單資料的傳送前的如何進行編碼,enctype有三種,分別為:
multipart/form-data不對字元編碼,用於傳送二進位制的檔案,其他兩種型別不能用於傳送檔案;
text/plain用於傳送純文字內容,空格轉換為 "+" 加號,不對特殊字元進行編碼,一般用於email之類的;
此時看到
title=test&sub%5b%5d=1
這也是常見的post請求方式,一般用來上傳檔案,各大伺服器的支援也比較好。所以我們使用表單 上傳檔案 時,必須讓表單的enctype屬性值為 multipart/form-data.
它是一種使用 http 作為傳輸協議,xml 作為編碼方式的遠端呼叫規範
四種常見的post請求中的引數形式
閱讀約 7 分鐘 1 angular的ajax功能 angularjs的ajax的post請求引數就是提交的json字串。如 json.stringify 的方法,服務端也有處理json的函式。請求的引數要處理 json.stringify 1 背景 1 http 協議是以ascii 碼傳輸,建立在...
四種常見的post請求中的引數形式
1 http 協議是以 ascii 碼 傳輸,建立在 tcp ip 協議之上的應用層規範。規範把 http 請求分為三個部分 狀態行 請求頭 訊息主體。2 協議規定 post 提交的資料必須放在訊息主體 entity body 中,但協議並沒有規定資料必須 使用什麼編碼方式 實際上,開發者完全可以自...
四種常見的post請求中的引數形式
閱讀約 7 分鐘 1 angular的ajax功能 angularjs的ajax的post請求引數就是提交的json字串。如 json.stringify 的方法,服務端也有處理json的函式。請求的引數要處理 1 背景 1 http 協議是以ascii 碼傳輸,建立在 tcp ip 協議之上的應用...