這篇文章主要講解了“query string、formData和request payload的區(qū)別是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“query string、formData和request payload的區(qū)別是什么”吧!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了海州免費(fèi)建站歡迎大家使用!
為什么呢?
因為,前后端的數(shù)據(jù)格式不同。即:前端給后端傳輸?shù)臄?shù)據(jù)格式和后端接收數(shù)據(jù)的方式不匹配。以下主要說一下前端,即:只關(guān)注請求時的數(shù)據(jù)格式。
1、地址欄傳輸數(shù)據(jù)
1)、query string Parameters:
當(dāng)請求方式是get時,瀏覽器會使用查詢字符串的方式進(jìn)行傳遞數(shù)據(jù),即:query string Parameters
查詢字符串的規(guī)則:請求參數(shù)使用 URL地址和“問號傳參“ 的方式進(jìn)行傳遞----用問號把url和請求參數(shù)分開。
請求參數(shù)的格式:以鍵值對的方式體現(xiàn),多個鍵值對之間用&隔開。
假設(shè):請求地址為 newsList.php。請求參數(shù)是pageIndex和pageCount。
那么,請求的格式為:newsList.php?pageIndex=1&pageCount=10;
如下圖,請求方式為get,在chrome瀏覽器的network里看到的是:query string Parameters
2、 請求體中傳輸數(shù)據(jù)
當(dāng)請求方式不是get(大部分情況是post或put)時,那么請求的數(shù)據(jù)不是在url上,而是在請求體里。請求體的英文就是:request payload。但是chrome瀏覽器針對不同的content-type有做了區(qū)分,分別是formData和request payload。
1)、formData
content-type的值是" application/x-www-form-urlencoded"或者 multipart/form-data; boundary=----WebKitFormBoundaryBoMA1XQDUpwpxKQg 時,那么,就是用的是formData的格式傳遞數(shù)據(jù)
2)、request payload
content-type的值是" text/plain"或者"application/json" 時,那么,就是用的是request payload的格式傳遞數(shù)據(jù)
附:默認(rèn)的數(shù)據(jù)格式:
1、傳統(tǒng)的ajax請求時候,Content-Type默認(rèn)為"文本"類型。
2、傳統(tǒng)的form提交的時候,Content-Type默認(rèn)為"Form"類型( application/x-www-form-urlencoded )
3、axios傳遞字符串的時候,Content-Type默認(rèn)為"Form"類型( application/x-www-form-urlencoded )
4、axios傳遞對象的時候,Content-Type默認(rèn)為"JSON"類型(( application/json)
感謝各位的閱讀,以上就是“query string、formData和request payload的區(qū)別是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對query string、formData和request payload的區(qū)別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!