HTTP请求中的Form Data与Request Payload的区别

HTTP请求中的Form Data与Request Payload的区别

前端开发中常常会用到AJAX发送异步请求,对于POST类型的请求会附带请求数据。而经常使用的两种传参方式为:Form Data 和 Request Payload。前端

121212

334343

GET请求

使用get请求时,参数会以key=value的形式拼接在请求的url后面。例如:git

 

可是受限于请求URL的长度限制,通常参数较少时会使用get请求。github

POST请求

当参数数量较多,且对数据有必定安全性要求时,会考虑用post请求传递参数数据。POST请求的参数数据是在请求体中。json

方式一: Form Data形式

当POST请求的请求头里设置Content-Type: application/x-www-form-urlencoded(默认), 参数在请求体以标准的Form Data的形式提交,以&符号拼接,参数格式为key=value&key=value&key=value...后端

3333

121212

前端代码设置:安全

 

在servlet中,后端能够经过request.getParameter(name)的形式来获取表单参数。app

方式二:Request Payload形式

若是使用AJAX原生POST请求,请求头里设置Content-Type:application/json,请求的参数会显示在Request Payload中,参数格式为JSON格式:{"key":"value","key":"value"...},这种方式可读性会更好。异步

444

334343

后端能够使用getRequestPayload方法来获取。post

Form Data 和 Request Payload 区别

  1. 若是请求头里设置Content-Type: application/x-www-form-urlencoded,那么这个请求被认为是表单请求,参数出如今Form Data里,格式为key=value&key=value&key=value...url

  2. 原生的AJAX请求头里设置Content-Type:application/json,或者使用默认的请求头Content-Type:text/plain;参数会显示在Request payload块里提交。

转自:https://github.com/kaola-fed/blog/issues/105

相关文章
相关标签/搜索