我是靠谱客的博主 忧虑红酒,这篇文章主要介绍简单封装get,post请求,携带token控制,现在分享给大家,希望可以做个参考。

 

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import axios from "axios"; //带三方类库 import qs from 'qs' // 配置不同环境下,调用不同接口 switch(process.env.NODE_ENV){ // 生产环境,部署到服务器上的环境 case 'production': axios.defaults.baseURL='http://api.zhengqinan.cn'; break; //设置测式环境的接口地址 case 'text': axios.defaults.baseURL='http://api.zhengqinantext.cn'; break; //开发环境接口地址 default: axios.defaults.baseURL='http://api.kaifa.cn' } /** * 设置超时时间和跨域是否允许携带凭证 */ axios.defaults.timeout=10000 //设置十秒 axios.defaults.withCredentials=true ;//例如:登录校验session和cookie /** * 设置请求数据参数传递的格式,默认是json格式,但是在登录校验中后台一般设置请求格式:x-www-form-urlencoded(name=xxx,age=xxx) * 看服务器要求什么格式 */ axios.defaults.headers['Content-Type']='application/x-www-form-urlencoded' //声明请求格式 axios.defaults.transformRequest=data=>qs.stringify(data) //qs是第三方库,转换为x-www-form-urlencoded /** * 设置请求拦截器:----在项目中发请求(请求没有发出去)可以做一些事情 * 客户端->[请求拦截器]->服务器端 * token校验(JWT):接收到服务器的token,存储到vuex/本地存储中,每次向服务器发送请求,我们应该把token带上 * config :发起请求的请求配置项 */ axios.interceptors.request.use(config=>{ let token=localStorage.getItem('token') token && (config.headers.Authoriztion=token) return config },error=>{ return Promise.reject(error) }) /** * 设置响应拦截器 * 服务器端返回信息->[响应拦截器]->客户端js获取到信息 * response中包含属性: * data:相应数据,status:响应状态码,statusText:响应状态信息,headers:响应头,config:响应提供的配置信息,request */ axios.interceptors.response.use(response=>{ return response.data //将主体内容返回 axios.get().then(result=>{拿到的就是响应主体}) },error=>{ let { response}=error // 如果有返回结果 if(response){ switch(response.status){ //这里面根据公司需求进行写 case 404: //进行错误跳转之类 break; } }else{ //服务器没有返回结果 分两种情况 断网 服务器崩了 if(!window.navigator.onLine){ //断网处理:跳转到断网页面 return } return Promise.reject(error) } })

 

最后

以上就是忧虑红酒最近收集整理的关于简单封装get,post请求,携带token控制的全部内容,更多相关简单封装get内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部