request payload是什么意思(http请求参数之Query String Parameters、Form Data、Request Payload)

本文目录
- http请求参数之Query String Parameters、Form Data、Request Payload
- Http请求之FormData和Payload
- HTTP请求中的form data和request payload的区别
- 代码参数里的 payload 是什么意思
- payload是什么意思
- HTTP请求中的Form Data与Request Payload的区别
- http中的payload怎么理解
http请求参数之Query String Parameters、Form Data、Request Payload
当发起一次GET请求时,参数会以url string的形式进行传递。即 ? 后的字符串则为其请求参数,并以 & 作败销为分隔符。
***隐藏网址***
当发起一次POST请求时,若未指定content-type,则默认content-type为application/x-www-form-urlencoded。即参数会以Form Data的形式进行传递,不会显式出现在请求url中。
***隐藏网址***
当发起一次POST请求时,若content-type为application/json,则参数会以Request Payload的形式进行传递(显然的,数据格式为森穗JSON),不会显式出现在请求url中。
***隐藏网址***
如果希望通过Form Data的方式来传递数据,则可以通过原生方法 formData() 来进行数据组装,且content-type需此枯卜要设置为multipart/form-data。
***隐藏网址***
其中, WebKitFormBoundaryAIpmgzV8Ohi99ImM 为浏览器随机生成的 boundary ,作为分隔参数,作用等同于 & 。
multipart/form-data 的优势还伴随一些兼容性问题,详细请参考文章结束的参考文献。
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
Http请求之FormData和Payload
FormData和Payload是浏览器传输给接口的两种格式,这两种方式浏览器是通过Content-Type来进行区分的, 如果是 application/x-www-form-urlencoded的话,则为Form Data方式,如果是application/json或multipart/form-data的话,则为 Request Payload
的方式 。
其中:
请求头为:
// Query String Parameters
x=1&y=2
默认的content-type:content-type为application/x-www-form-urlencoded
请求头为:
// Form Data
x=1&y=2
content-type:application/json
// Request Payload
x=1&y=2
相关扩展阅读:
好了,到这里我们知道了,其实都是放到了payload中。那么具体有什么区别呢?为什么有时候后端拿不到值呢?这就不得不说对payload的解析方式了。我们以几个chrome下的测试案例,来理一理这个逻辑。
场景构闭族辩造
《form action="/" method="POST"》穗旅
《input name="name" type="text"》
《input name="password" type="text"》
《button》提交《/button》
《/form》
如果我这里点击提交按钮,就会触发浏览器的提交功能,那结果是什么样呢?
注意点
可以看到Content-Type为application/x-www-form-urlencoded。
值得形式是以key1=value1&key2=value2的形式提交的。
场景构造
function submit2() {
var xhr = new XMLHttpRequest();
xhr.timeout = 3000;
var obj = {a: 1, b: 2};
xhr.open(’POST’, ’/’);
xhr.send(obj);
}
首先我们构造一个简单的函数,然后触发它。通过chrome反馈来看:
注意点
1.默认的Content-Type为text/plain。
2.Request Payload会对非字符串做字符串转换。
3.通过xhr.send(JSON.stringify(obj));可修正要发的内容
场景构造
由于axios已经是vue、react的准标配请求方式了,所以这里探究一下它。
首先我门看axios的文档,当post提交时候可以传递什么类型参数:
注意这个类型,我们分别构造两个场景。对应它。
function submit3() {
var sence1 = ’name=123&val=456’;
var sence2 = {name: 123, val: 456};
axios.post(’/’, sence1)
}
分别传递字符串与对象,提交post请求,然后观察结果:
场景1——传递字符串时候的结果:
场景2——传递对象的结果:
注意点
1.当我们传递字符串的时候,Content-Type自动转为xxx-form-xxx的形式。当为对象的时轿缺候,自动转化为xxx/json。
2.字符串的时候以key1=val1&key2=val2的形式体现,对象以JSON字符串形式体现。
探索了这么多种情况之后,那么我们回顾一下:
Content-Type的差异
1.传统的ajax请求时候,Content-Type默认为"文本"类型。
2.传统的form提交的时候,Content-Type默认为"Form"类型。
3.axios传递字符串的时候,Content-Type默认为"Form"类型。
4.axios传递对象的时候,Content-Type默认为"JSON"类型
Content-Type的值,Form与非Form时,payload的区别。
1.都只支持字符串类型(以上探究的几种情况)
2.Form需要传递的格式为key1=value1&key2=value2,类似GET请求的QueryString格式
3.非Form一般为JSON.stringify(formDataObject)形式
无论何种形式传递,后端解析表单信息的时候,会考虑Content-Type。如果是JSON字符串的话,后端解析payload的内容时候,肯定要去解析JSON啦。如果是key1=value1&key2=value2的形式,则需要去分割字符串。
当然这些事情一般后端使用的框架会去处理,但是框架给后端提供取值接口有可能是不同的,所以前端的小伙伴在处理请求问题时,一定要跟后端小伙伴商量好,是用JSON还是FormData哈。
HTTP请求中的form data和request payload的区别
区别就是:
当POST请求的请求头里设置Content-Type: application/x-www-form-urlencoded(默认), 参数在请求体以标准的Form Data的形此衫式提交,以&符号拼接,参数格式为key=value&key=value&key=value
当使用AJAX原生POST请求,请求头里设置Content-Type:application/json,请求的参数会显示在Request Payload中,参数格式为JSON格式:{“key”:”value”,”key”:”value”…},这种方式可读性会更好。
拓展资料:
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的森顷腔方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(乎携hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。
参考资料:
HTTP—百度百科
代码参数里的 payload 是什么意思
payload 字面意思 “有效载荷,有效负荷,察伏有效载重” 。
维基百科payload中的解释:
比如有一位客户需要支付一笔费用委托货车司机运送一车石油,石油本身的重量、车子的
重量、司机的重量等等,这些都属于载重(load)。但是对于该客户来说,他关心的只有石
油的重量,所以石油的重量是有效载重(payload,也就是付败稿携费的重量)。
维基敬丛百科给出了这个样的例子:
通俗一点讲,在程序的世界里, payload(有效载荷) 就是对于接收者 有用 的数据
参考:
***隐藏网址***
***隐藏网址***
***隐藏网址***
***隐藏网址***
payload是什么意思
payload的意思是有效载荷 。
通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据山燃的头和尾都加上一定的辅助信息,比如数据量的大小、校验位等,这桐首样就相当于给已经分批的原始数据加一些外套。
这些外套起标示作用,使得原始数据不易丢失,一批数据加上“外套”就形成了传输通道的基本传输单元逗轮虚,叫作数据帧或数据包,而其中的原始数据就是payload。
The essential data that is being carried within a packet or other transmission unit.。
HTTP请求中的Form Data与Request Payload的区别
前端开发中要想实现与后端的交互那就少不了要向后端提交数据或请求数据,这时传参的方式主要有两种:且这两种方式主要是通过改变请团脊求头的 Content-Type 属性来实现的,一般请求默认使用 application/x-www-form-urlencoded 编码数据,此时传参形式为 Form Data ,如果是 application/json 或 multipart/form-data 的话,则传参形式为 request payload
的方式。
Content-Type 是指***隐藏网址*** 发送信息至服务器时的内容编码类型, contentType 用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据。
常用的Content-Type有如下:
其中:text/html, text/plain, text/css, text/javascript, image/jpeg, image/png, image/gif, 都是常见的页面资源类型。
application/x-www-form-urlencoded, multipart/form-data, application/json, application/xml 这四个是ajax的请求,表单提交塌察渗或上传文件的常用的资源类型。
ContentType都是默认的值 application/x-www-form-urlencoded, 这种编码格式的特点是:name/value值对,
每组之间使用&连接,而name与value之间是没逗使用 = 连接,比如 key=xxx&name=111&password=123456;
后端可以通过request.getParameter(name)的形式来获取表单参数。
application/json是以json形式将数据发送给服务器,对于一些复制的数据对象,对象里面再嵌套数组的话,建议使用application/json传递比较好
后端可以使用getRequestPayload方法来获取。
当请求头的Content-Type为application/json时浏览器认为该请求为复杂请求,这时浏览器会先进行一次预请求,执行一次OPTIONS 请求,向服务器求证该请求是否合法,如果服务器没有给出正确回应浏览器会报跨域请求导致请求失败
一般这三种方式会导致这种现象:
1:请求的方法不是GET/HEAD/POST
2:POST请求的Content-Type并非application/x-www-form-urlencoded, multipart/form-data, 或text/plain
3:请求设置了自定义的header字段
HTTP请求中 request payload 和 formData 区别?
http中的payload怎么理解
1、HTTP请求过程中,get请求:表单参数以name=value&name1=value1的形式附到url的后面;液汪
2、post请求:表单参数是在请求体中,也是name=value&name1=value1的形式在请求体中。
POST表单请求提交时,使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST请求如果不指定请求衡戚头闹拦仔RequestHeader,默认使用的Content-Type是text/plain;charset=UTF-8, Request Payload name=mikan&address=street (注意:除了对空格转译成逗+地,其他都不编码)。
在html中form的Content-type默认值:Content-type:application/x-www-form-urlencoded
如果使用ajax请求,在请求头中出现 request payload导致参数的方式改变了 ,那么解决办法就是:
headers: {’Content-Type’:’application/x-www-form-urlencoded’}
或者使用ajax设置:
$.ajaxSetup({contentType: ’application/x-www-form-urlencoded’});
这样,问题就可以解决。

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




