主要是关于get和post还有ajax的一些小问题:
1:为何发请求的时候,get请求发送params参数不需要序列化(就像图2中的get请求里边发送参数一样),而post里边发送请求体body就需要序列化一下呢(就像图1中需要querystring.stringify对参数做处理)?
2:图1中序列化参数的时候为啥需要 || paramObj 呢?难道有些情况下序列化会失效吗?
3:axios的get请求好像一般传参都用params,可以不用params而像post一样发送请求体吗?
4:axios官方文档中,这种写法看的不是很懂,中括号加逗号是一种什么写法呢😂:
图片都是公司已经搭好的环境,现在基本使用是没有问题了,就是一些疑惑想问一下大佬们,求指教了!
1.
get
请求params
不需要序列化, 是因为框架(axios
)帮你做了这件事.打开
network
, 你的url
问号后面的, 就是你get
携带的请求参数.post
请求, 其实如果你不用queryString.stringify
也没关系. 只不过是后端能否正确解析这个格式而已.你可以试一下, 比如
queryString.stringify
的格式, 它的Content-type
是application/x-www-form-urlencoded
而如果是直接传入一个对象, 他的
Content-type
是application/json;charset=UTF-8
2.说实话我也没看明白....可以确认一下, 当
paramObj
为空的时候, 这个queryString.stringify
返回值是什么.3.可以.但是一般没人会这么写.
http
请求中, 无论是get
,post
, 本质都是一样的, 但是和第一个问题一样, 是后端能否正确解析的问题. 一般后端不会去解析get
请求的body.4.
[]
代表可选参数, 比如 :