VUE04_Promise的概述、常用API、静态方法、axios基于不同请求传参、拦截器、async/await用法(三)

简介: ⑦. axios的响应结果⑧. axios 全局配置⑨. axios 拦截器

⑦. axios的响应结果


  • ①. data:实际响应回来的数据


  • ②. status:响应转态码(200表示成功)


  • ③. headers:相应头的信息


  • ④. statusText:响应状态信息


⑧. axios 全局配置


①. 配置公共的请求头


axios.defaults.baseURL = ‘https://api.example.com’;


②. 配置超时时间


axios.defaults.timeout = 2500;


③. 配置公共的请求头


axios.defaults.headers.common[‘Authorization’] = AUTH_TOKEN;


④. 配置公共的 post 的 Content-Type


axios.defaults.headers.post[‘Content-Type’] = ‘application/x-www-form-urlencoded’;


加了这个参数,那么传参格式就是 uname=zhangsan&pwd=111


在axios中我们默认是采用JSON格式进行传参的


微信图片_20220108125843.png


⑨. axios 拦截器


  • ①. 请求拦截器


  1. 请求拦截器的作用是在请求发送前进行一些操作


  1. 例如在每个请求体里加上token,统一做了处理如果以后要改也非常容易


    //请求拦截器
   axios.interceptors.request.use(config => {
       console.log(config.url);
       config.headers.myToken = 'xiaozhi';
       return config;
   }, error => {
       console.log(error);
   });


  • ②. 响应拦截器


  1. 响应拦截器的作用是在接收到响应后进行一些操作


  1. 例如在服务器返回登录状态失效,需要重新登录的时候,跳转到登录页


     //响应拦截器
     axios.interceptors.response.use(reponse => {
         //这里的reponse和axios.get().then(response) 是一样的
         //注意:如果这里data做了处理,那么在axios.get().then(response) 中得到的data就是这里return回去的
         var data = reponse.data;
         console.log("----" + data);
         return data;
     }, error => {
         console.log(error);
     });
     axios.get('http://127.0.0.1:30021/staffSelect/list?page=1&&limit=10').then(response => {
         //注意data属性是固定的用法,用于获取后台的实际数据
         //console.log(response.data);//Object { code: 0, msg: "", data: (10) […], count: 27476 }
         //这里的response是真实的数据,我们在响应拦截器中做了处理
         console.log(response);//Object { data: {…}, status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }
     });
相关文章
|
10天前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
10天前
|
API Python
4. salt-api请求salt-minion执行任务 tornado超时报错
4. salt-api请求salt-minion执行任务 tornado超时报错
|
10天前
|
JavaScript 网络架构
|
11天前
|
前端开发 JavaScript
解决异步问题,教你如何写出优雅的promise和async/await,告别callback回调地狱!
该文章教授了如何使用Promise和async/await来解决异步编程问题,从而避免回调地狱,使代码更加清晰和易于管理。
解决异步问题,教你如何写出优雅的promise和async/await,告别callback回调地狱!
|
16天前
|
JSON 资源调度 JavaScript
Vue框架中Ajax请求的实现方式:使用axios库或fetch API
选择 `axios`还是 `fetch`取决于项目需求和个人偏好。`axios`提供了更丰富的API和更灵活的错误处理方式,适用于需要复杂请求配置的场景。而 `fetch`作为现代浏览器的原生API,使用起来更为简洁,但在旧浏览器兼容性和某些高级特性上可能略显不足。无论选择哪种方式,它们都能有效地在Vue应用中实现Ajax请求的功能。
18 4
|
2月前
|
存储 Kubernetes API
【APIM】Azure API Management Self-Host Gateway是否可以把请求的日志发送到Application Insights呢?让它和使用Azure上托管的 Gateway一样呢?
【APIM】Azure API Management Self-Host Gateway是否可以把请求的日志发送到Application Insights呢?让它和使用Azure上托管的 Gateway一样呢?
|
2月前
|
API C#
【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
|
2月前
|
存储 API
【Azure API 管理】为调用APIM的请求启用Trace -- 调试APIM Policy的利器
【Azure API 管理】为调用APIM的请求启用Trace -- 调试APIM Policy的利器
|
2月前
|
存储 安全 API
【Azure API 管理】在APIM中使用客户端证书验证API的请求,但是一直提示错误"No client certificate received."
【Azure API 管理】在APIM中使用客户端证书验证API的请求,但是一直提示错误"No client certificate received."
|
2月前
|
安全 API
【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)