Vue中Axios的使用(学习笔记)

本文详细介绍了如何在Vue项目中集成Axios库进行HTTP请求,包括安装、配置、全局设置及拦截器的使用,覆盖了GET、POST等多种请求方法。

1.安装

在Vue-cli的目录下

cnpm install axios --save

2.引入

在main.js中

import Axios from 'axios'
Vue.prototype.$axios = Axios;//加载到原型上

注意大小写

3.使用

在组建中创建生命周期函数

	created(){
		this.$Axios.get("")
		.then(res =>{})//返回数据处理
		.catch(error =>{})//返回数据为null时
	}

例:

有参数的情况:


get:

post(只看格式):

post需要form-data格式(区别于)x-www-form-rulencoded格式

4.全局设置:

全局的 axios 默认值(放在main.js中,注意大小写)

Axios.defaults.baseURL = 'https://api.example.com';
Axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;//作者的认证
Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

5.拦截器

在请求或响应被 then 或 catch 处理前拦截它们。(在main.js中全局)

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

例:在请求post前转换格式

if(config.methods == "post"){
	config.data =  qs.stringifty(config.data);
}

post请求就可改为:

this.$axios.post("/searchMusic", {
    name: "稻香"
  })

6.HTTP协议中请求的8种方法:

OPTIONS获取服务器支持的HTTP请求方法;
HEAD跟get很像,但是不返回响应体信息,用于检查对象是否存在,并获取包含在响应消息头中的信息。
GET向特定的资源发出请求,得到资源。
POST向指定资源提交数据进行处理的请求,用于添加新的内容。
PUT向指定资源位置上传其最新的内容,用于修改某个内容。
DELETE请求服务器删除请求的URI所标识的资源,用于删除。
TRACE回馈服务器收到的请求,用于远程诊断服务器。
CONNECT用于代理进行传输,如使用ssl

patch是对put的补充,用来对已知资源进行局部更新。(幂等)

7.方法内的参数:

1、url(必写)
请求地址

2、method
请求方法,默认是get

3、baseURL(常用)
baseURL会添加到url前(url是绝对地址除外)。

4、transformRequest
transformRequest选项允许我们在请求发送到服务器之前对请求的数据做出一些改动
该选项只适用于以下请求方式:put/post/patch

5、transformResponse
transformResponse选项允许我们在数据传送到then/catch方法之前对数据进行改动

6、headers(常用,如设置请求头json类型)
自定义请求头信息

7、params(常用,只有get请求设置params,其他请求需设置params,即只有get的请求参数位于url后,其他请求参数都在请求体中)
params选项是要随请求一起发送的请求参数----一般链接在URL后面

8、data(常用)
data选项是作为一个请求体而需要被发送的数据,该选项只适用于方法:put/post/patch
在浏览器上data只能是FormData, File, Blob格式

9、timeout(常用)
超时时间

10、withCredentials
withCredentails选项表明了是否是跨域请求、默认是default

11、onUploadProgress
onUploadProgress上传进度事件

12、onDownloadProgress
下载进度的事件

13、maxContentLength
相应内容的最大值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值