在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  HTML/ form data 和request payload 和Query String

form data 和request payload 和Query String Parameters的區(qū)別?

求解釋一下form data 和request payload 和Query String Parameters的區(qū)別,使用post還是get請求發(fā)出的,content-type怎么設(shè)置之類的

回答
編輯回答
熟稔

URL 的格式如下:
scheme://user:password@host:port/path;params?query#frag

query 部分就是 Query String Parameters

HTTP 的請求報(bào)文格式如下

<method>  <request-URL>  <version>

<header>

<entity-body>

request payloadform data 都是 entity-body 塊的內(nèi)容,只是由 Content-type 區(qū)分解析行為。
一般 form-data`Content-type=application/x-www-form-urlencoded
其余的一般都默認(rèn)是 request payload (文件上傳不知道算不算,有興趣可以自行搜索一下)。

Query String Parameters 無論什么請求方式都可以帶,取決于自己要不要解析。
entity-body 則是要部分請求方式
POST、PUT、PATCHDELETE、OPTIONS(UN)LINK、LOCKPROPFIND、VIEW
之類的都可以帶 body

2018年2月16日 11:56
編輯回答
不將就

Demo: http://wfquery.top/demo/07.fo...

  • formdata 當(dāng)使用FormData提交 POST 請求數(shù)據(jù)時(shí)(可以提交blob數(shù)據(jù), 也就是支持文件上傳), 默認(rèn)提交 數(shù)據(jù)在request.plaload
$.ajax({
  type: 'POST',
  url: '/',
  form: $('form')
});

clipboard.png
https://github.com/shy2850/wf...

  • 使用GET請求時(shí),數(shù)據(jù)一般是querystring

clipboard.png

clipboard.png

  • 如果你使用POST提交querystring,需要設(shè)置 Content-Type: 'application/x-www-form-urlencoded', 數(shù)據(jù)通過 xhr.send(data)提交

https://github.com/shy2850/wf...

  • 以上,算是比較常用的表單數(shù)據(jù)提交方式, 你還可以直接提交json格式字符串之類的,服務(wù)端通過獲取整個(gè)query去parseJSON, 文件上傳的時(shí)候 xhr.send(buffer) 也可以直接提交buffer。
事實(shí)上前端是不是需要設(shè)置請求頭的 “Content-Type” 完全由服務(wù)端決定的,以上不管是 querystring-param 還是 query-json 格式都可以在同等位置提交,所以很多時(shí)候我們前后端協(xié)議約定這個(gè)需要設(shè)置一下 格式交互規(guī)范,你在項(xiàng)目里也可以不遵循這個(gè)約定,自己定義規(guī)則。
2017年11月23日 00:29