vue学习笔记(三):axios获得远程数据,拦截器

 安装:

npm i axios

 请求数据代码如下:

<script>
import axios from 'axios';
export default {
  data: () => {return {name:''},
  methods:{
    set_val(){
      return this.lastname+this.firstname
    },
    //使用axios获得远程数据
    async get_remote_data() {
      const resp = await axios.get("/my/article/cates");
      this.name = resp.data.data[0].name
    }
  }
}
</script>

 

 使用post发送带请求头的请求,比如jwt的token就可以通过这种方式发送,如下:

 

 可以使用URL拼接方式提交查询字符串,如下:

 

 但是要注意,如果特殊字符要发送给服务器,需要URL编码,如下:使用encodeURIcomponent()编码

 

或者使用params会自动转码:如下 

使用请求体的发送json数据,用到UrlSearchParams(),如下:

 

 使用请求体的发送multipart数据(可以带二进制数据),使用FormData(),如下:

 

 使用预设方式,为一批请求设置统一的config以覆盖默认的config,可以先创建一个自己的axios对象,然后设置统一的访问根路径,而不通过后台的代理去访问8080端口

 

 这是别的设置:

 

 跨域提交 cookie只需要将withCredentials设置为true即可,这样浏览器就会提交这个域的cookie给服务器。

axios响应体:

 

 下图中:第一个200状态是可以在服务器定义后返回的,第二个200是约定的代表本次请求响应成功,其他状态码,如上图

 

 

 

 

 axios拦截器:请求之前和响应之后对流程做统一的处理,可以用拦截器

请求拦截器如下:

 

 响应拦截器如下:对每一个可能的响应错误码做处理,然后return Promise.resolve(状态码)代表此错误已经解决,这样控制台就不会抛出红色字体的错误文本了。

 

posted @ 2022-09-22 19:11  卡吧不死机  阅读(304)  评论(0编辑  收藏  举报