四種常見的post請求中的引數形式

2022-02-14 08:56:37 字數 2136 閱讀 4903

閱讀約 7 分鐘

1、angular的ajax功能

angularjs的ajax的post請求引數就是提交的json字串。如:

json.stringify()的方法,服務端也有處理json的函式。

//請求的引數要處理:

1、背景

(1)、http 協議是以ascii 碼傳輸,建立在 tcp/ip 協議之上的應用層規範。規範把 http 請求分為三個部分:狀態行、請求頭、訊息主體。

(2)、協議規定 post 提交的資料必須放在訊息主體(entity-body)中,但協議並沒有規定資料必須使用什麼編碼方式。實際上,開發者完全可以自己決定訊息主體的格式,只要最後傳送的 http 請求滿足上面的格式就可以。

(3)、資料傳送出去,還要服務端解析成功才有意義。一般服務端語言如 php、python 等,以及它們的 framework,都內建了自動解析常見資料格式的功能。服務端通常是根據請求頭(headers)中的 content-type 欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。

2、開始介紹四種方式:

此時可以看到,

title=test&sub%5b%5d=1&sub%5b%5d=2&sub%5b%5d=3

(2)、multipart/form-data

這也是常見的post請求方式,一般用來上傳檔案,各大伺服器的支援也比較好。所以我們使用表單上傳檔案時,必須讓表單的enctype屬性值為 multipart/form-data.

//請求資料

var data = ;

//請求資料序列化處理

json.stingify(data);

//結果:;

(4)、text/xml1、form-data:等價於http請求中的multipart/form-data,它會將表單的資料處理為一條訊息,以標籤為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳檔案。當上傳的字段是檔案時,會有content-type來表名檔案型別;content-disposition,用來說明欄位的一些資訊;

由於有boundary隔離,所以multipart/form-data既可以上傳檔案,也可以上傳鍵值對,它採用了鍵值對的方式,所以可以上傳多個檔案。

可以上傳任意格式的文字,可以上傳text、json、xml、html等

4、binarymultipart/form-data與x-www-form-urlencoded區別

multipart/form-data:既可以上傳檔案等二進位制資料,也可以上傳表單鍵值對,只是最後會轉化為一條資訊;

x-www-form-urlencoded:只能上傳鍵值對,並且鍵值對都是間隔分開的。

閱讀 58.6k更新於 2018-04-12

四種常見的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請求中的引數形式

1 http 協議是以 ascii 碼 傳輸,建立在 tcp ip 協議之上的應用層規範。規範把 http 請求分為三個部分 狀態行 請求頭 訊息主體。2 協議規定 post 提交的資料必須放在訊息主體 entity body 中,但協議並沒有規定資料必須 使用什麼編碼方式 實際上,開發者完全可以自...