说到请求数据,避免不了请求报文,但是什么是请求报文呢,
请求报文分为请求行,请求头,请求体,
而post请求都是在请求体中的,这个就不多说了
请求头中的Content-Type **
请求头中的Content-Type决定了请求体中的数据是以什么编码格式进行传输的,
这也就是为什么一个刚入职的前端程序员和后台无法很好的进行交互,
问题就是出在了请求格式的错误 即Content-Type
举两个简单的例子
axios发送请求的时候数据默认是以json(application/json)格式编码的
jQuery和form表单提交的时候请求体中的数据默认是urlencode编码
这里声明form表单提交是跳转到一个新页面
所以前端在进公司的时候是通过Content-Type进行约定,到底是以什么格式进行传输数据
遇见前端传给后台的数据不能解析的话,首先找Content-Type
让后台加能解析json和urlencode编码的,(但是一般不会出现这么低级的错误,除非是小白)
举两个简单的例子
可以看出form请求的格式
下面是jq和axios
这里可以看出jq请求的格式是urlencode编码 charset='utf-8’自动加上去的
Form Data 里面是传递的参数
** axios请求 **
这里咱们上面说过axios请求格式是application/json格式进行传输数据的
所以传递的参数自动转换成json格式
以上便是请求编码的简单区别,说的都是post请求