axios传参
https://www.kancloud.cn/yunye/axios/234845 axios参考
1.get(url[, config])和post(url[, data[, config]]),注意参数
get是在config中设置params{params:{...} }
post是设置data字段
详细看文档(在post里面用params会把参数放到url里的)
2.headers中的Content-Type,视乎请求方式(GET/POST等)的不同,有不同默认值和处理方式
3.post方式中
//
data是作为请求主体被发送的数据
// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
// 在没有设置transformRequest时,必须是以下类型之一:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - 浏览器专属:FormData, File, Blob
// - Node 专属: Stream
content-type默认情况下将被正确设置。其他不合情景的类型由JSON.stringify()处理为字符串,且content-type为application/json。手动设置content-type并不影响这个处理逻辑。
对于data是一个普通对象,想以application/x-www-form-urlencoded正确post传输(即html表单的post提交方式)
简易解决方法:
(1)axios.post('/api/login', 'a=1&b=2' ) 我们自己直接写成符合的字符串
(2)使用URLSearchParams或者qs库进行处理,没啥好办法了。
4.get方式中
//
params是即将与请求一起发送的 URL 参数
// 必须是一个无格式对象(plain object)或 URLSearchParams 对象
get方式通常无需指定content-type,因此控制台中可能看不到application/x-www-form-urlencoded这个。但这里无论是plain object还是URLSearchParams对象,都不会被JSON.stringify()处理,最终均以a=1&b=2这种形式放入url中进行提交。
作者:codeflame
链接:https://www.jianshu.com/p/25048ddfc8d0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

浙公网安备 33010602011771号