步骤:
1: npm install axios —save
2: 在main.js中配置axios
代码如下:
//axios请求设置
import axios from 'axios';
const http = axios.create({
timeout: 1000 * 30,
withCredentials: true,
// baseURL: '',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Authorization':'登录之后返回的token'
}
})
http.interceptors.request.use(config => {
// 请求头带上token
// let time = new Date().getTime();
// config.params['time'] = time;
config.headers['sign'] = md5('与后台对应的字符串');
return config
}, error => {
return Promise.reject(error)
})
Vue.prototype.$axios= http;通常在项目中是,根据登录,后台返回一个token,然后前端将接受到的token值存储在localStorage中,并将这个值加入到http请求头中,以后的每次请求都会自动带上这个值,用于身份认证。
3:vue 解决跨域问题
在config目录先,index.js进行配置
4:axios请求是传递的参数是对象,不是json键值对的格式,需要将传递的参数进行转化
通用方式是使用vue中的qs插件 (可以查看qs使用教程)
首先:
npm install qs —save
其次:
在main.js中引入qs
//引入qs,用于格式化axios post的数据格式,将post的参数转换为后端识别的json 键值对的格式
import qs from 'qs';
Vue.prototype.$qs = qs;
5,可以在页面中使用axios请求啦。
在查询了好多方法之后,我的问题通过这个方法解决了,希望对大家也能有用!