axios发起请求
axios
- axios可以使用在浏览器端,也可以使用在nodejs端
- 前端框架: vue react中使用
- https://segmentfault.com/a/1190000008470355?utm_source=tuicool&utm_medium=referral
- get
- post 如果data是对象,默认头就是application/json
- 如果data是字符串 默认头就是application/x-www-form-urlencoded
- 在做交互的时候,application/json传输数据,你得保证,头和数据一致
- 还要顾及服务端是否支持json数据
不是vue插件要挂载原型中
|
|
post
|
|
get
|
|
合并请求
- 发起一个获取省数据的请求 + 发起一个获取市数据的请求
- 一次失败,就算失败,全部成功才算成功
- 发起合并请求
this.$axios.all([请求1,请求2...])
- 广播响应,在then参数内
this.$axios.spread((res1,res2)=>{ //处理响应内容})
|
|
|
|
axios_interceptor拦截器
在 main.js全局中
|
|
拦截器应用场景
- loading图标 在请求发起前,显示
- 在响应回来后,隐藏
|
|
OPTIONS请求(扩展)
- 1:跨域 2:发起请求的时候由于数据是对象,插件默认加上的content-type:application/json
- application/json 新的,且流行的
- 浏览器会自动发起OPTIONS作为预检请求,去问一下,服务器是否搞定了content-type的相关配置
- 避免浏览器发起预检请求
- 如果一定要application/json,需要服务器配合
- 一般来讲服务器都支持application/x-www-form-urlencoded
vue-rerource
|
|