閱讀約 7 分鐘
1、angular的ajax功能
angularjs的ajax的post請求引數就是提交的json字串。如:
json.stringify()的方法,服務端也有處理json的函式。
//請求的引數要處理:
json.stringify()
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請求中的引數形式
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 協議之上的應用...
(七)四種常見的post請求中的引數形式
1 http 協議是以 ascii 碼 傳輸,建立在 tcp ip 協議之上的應用層規範。規範把 http 請求分為三個部分 狀態行 請求頭 訊息主體。2 協議規定 post 提交的資料必須放在訊息主體 entity body 中,但協議並沒有規定資料必須 使用什麼編碼方式 實際上,開發者完全可以自...