在b站上跟着黑马的视频学的,相应的后端的接口也是黑马写的,谢谢黑马,然后自己总结了一下,发出来了。
axios
axios是一个第三方库,专门用来做接口调用,支持Promise语法,比fetch的功能更加强大
官网:https://github.com/axios/axios
首先打开官网----点击Code--点击下载ZIP,解压,在dist中有要引入的文件
1. axios的API
axios把各种请求方式,都封装成了不同的API,使用起来会更加的方便
如果是get【获取数据】,就直接调用axios上面的get方法
如果是delete【删除数据】,就直接调用axios上面的delete方法
如果是post【添加数据】,就直接调用axios上面的post方法
如果是put【更新数据】,就直接调用axios上面的put方法
1.1 get和delete请求
get和delete对于请求参数的处理很像,不用处理请求参数的格式,只需要传递参数
传递参数有两种方式,一种是通过URL,另一种是通过axios中params属性传递参数
URL方式:
params方式:params方式是在url地址后面多了个对象参数,params属性写在这个参数里面,params里面的内容就是传递的参数,多个参数直接在params里面写就行。
1.2 post和put请求
使用axios,post和put请求也是不用设置请求参数的格式的,直接传递参数即可,这俩传递方式的参数处理很像。注意,使用put一般还是得传递一个标识符,让后台知道要修改更新的是哪一个数据
参数是有两种格式的,JSON格式的和字符串格式的,最方面的就是JSON格式的。
JSON格式的是直接在url后面添加一个对象参数,把请求参数放在这里面即可:
字符串格式的相对来说比较麻烦
关于axios的响应信息
axios把响应结果包装成一个对象(then方法的第一个参数的形参),里面有各种属性
axios的全局配置
在发送请求之前可以提前做一些全局配置,方面我们写代码
拦截器
拦截器有请求拦截器和响应拦截器。请求拦截器就是发送请求之前设置一些信息,响应拦截器就是获取数据之前对数据做一些加工处理。
请求拦截器调用axios.interceptors.request.use()
响应拦截器调用axios.interceptors.response.use()
两个方法都是有两个参数,且两个参数都是函数,第一个参数都是具体配置的,第二个参数是处理响应的错误信息的。