照着大神的文章写的,
记一下自己的项目代码, 怕以后忘记
首先是安装 axios, 运行 npm install axios --save
然后新建 api/index.js, 代码如下:
- /**
- * Created by mwy on 2018/7/31.
- */
- // 引用 axios
- var axios = require('axios');
- // axios 配置
- axios.defaults.timeout = 5000;
- axios.defaults.baseURL = 'xxx';// 这里写接口的 url
- // http request 拦截器
- axios.interceptors.request.use(
- config => {
- // const token = getCookie('session');
- config.data = JSON.stringify(config.data);
- config.headers = {
- 'Content-Type': 'application/x-www-form-urlencoded'
- }
- // if (token) {
- // config.params = {'token': token}
- // }
- return config;
- },
- err => {
- return Promise.reject(err);
- }
- );
- // http response 拦截器
- axios.interceptors.response.use(
- response => {
- if (response.data.errCord == 2) {
- router.push({
- path: '/login',
- query: {redirect: router.currentRoute.fullPath}
- })
- }
- return response;
- },
- error => {
- return Promise.reject(error.response.data);
- }
- );
- // GET 请求方法
- export function fetch(url, params = {}) {
- return new Promise((resolve, reject) => {
- axios.get(url, {
- params: params
- })
- .then(response => {
- resolve(response.data);
- })
- .catch(err => {
- reject(err);
- })
- })
- }
- // POST 请求方法
- export function post(url, data = {}) {
- return new Promise((resolve, reject) => {
- axios.post(url, data)
- .then(response => {
- resolve(response.data);
- }, err => {
- reject(err);
- })
- })
- }
然后去 main.js 中加上以下代码:
- // 引入公共的 js 文件
- import {post, fetch} from './api/index.js';
- vue.prototype.$post = post;
- Vue.prototype.$get = fetch;
最后, 在你需要请求接口数据的组件中加入以下代码:
- // 与后台交互, 获取数据
- getList() {
- this.$post('site/test', {}).then((response) => {
- console.log(response);
- });
- },
这样就成功取到数据啦, 然后就可以愉快地写功能了
来源: http://www.qdfuns.com/note/46360/fd99f7ae12c5efbc6ef1a7d62f933700.html