我们采取封装分类管理举个栗子:
新建文件夹utils
里面新建url.js
全站http的配置
/**
* 全站http配置
*
* axios参数说明
* isSerialize是否开启form表单提交
* isToken是否需要token
*/
import axios from 'axios'
axios.defaults.baseURL = 'http://localhost:9900';
axios.interceptors.request.use(function (config) {
// 请求前处理
config.headers['Authorization'] = "Basic d2ViQXBwOndlYkFwcA==" // 让每个请求携带自定义 token 请根据实际情况自行修改
return config;
}, function (error) {
// 错误处理
return Promise.reject(error);
});
// 添加一个响应拦截器
axios.interceptors.response.use(function (response) {
//这里可以写当token 判断有没有登陆没有就跳到登陆页面
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});
export default axios;
新建文件夹urbag.js里面管理接口统计
export const longUrl ='/api-uaa/oauth/user/token';
新建文件user.js写get或post方法
get和post的区别:
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get安全性非常低,get设计成传输数据,一般都在地址栏里面可以看到,post安全性较高,post传递数据比较隐私,所以在地址栏看不到, 如果没有加密,他们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到。
import request from '@/utils/url';
//post
//baseUrl表示传来服务器,params表示提交的数据
//什么时候用post获取大断的内容用 POST,通常表单用 POST 方式提交数据。
export function requestPost(baseUrl, params) {
return request({
url: baseUrl,
method: 'post',
params:params
})
}
//get
//什么时候用get:获取数据时候
export function requestGet(baseUrl, params) {
return request({
url: baseUrl,
method: 'get',
params:params
})
}
这样就封装好了:
怎么调用我举个栗子:
//先把封装好的方法引进来
import { requestGet } from '@/utils/user'
import { longUrl } from '@/utils/urbag'
logclick(){
//longUrl是urbag.js里面写的接口
requestGet(longUrl,{
//传的数据
"password":'admin',
}).then(res => {
//这里写成功获取数据处理
console.log(res)
})
}
ok这样就是对axios封装完成