axios的使用

本文档介绍了如何在Vue.js项目中安装和使用axios库。首先通过npm安装axios并将其保存为开发依赖。然后,在main.js中引入axios,并将其挂载到Vue的原型上,方便在所有组件中使用。接着,详细说明了如何在具体页面中引入axios.js,最后展示了axios在实际请求中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装:npm install axios --save-dev
2.在main.js引入并挂载到原型上(main.js同级新建axios文件夹下面axios.js)
import axios from ‘./axios’
Vue.prototype.$axios = axios
3.在页面中引入axios.js

import axios from 'axios'
import qs from 'qs'
axios.defaults.timeout = 30000;                                                                           //响应时间
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';          //配置请求头(content-type)
//axios.defaults.headers.post['token'] = '';                                          
// axios.defaults.headers.post['client'] = '';  
axios.defaults.baseURL = ''                                                 //配置接口地址(url)
// axios.defaults.baseURL = '/api'                                                    //配置接口地址(url)
axios.interceptors.request.use((config) => {
  //在发送请求之前做某件事
  if (config.method === 'post') {
    config.data = qs.stringify(config.data);
  }
  return config;

}, (error) => {
  return Promise.reject(error);
});
//返回状态判断(添加响应拦截器)
axios.interceptors.response.use((res) => {
  if (!res.status == 200) {
    return Promise.reject(res);
  }
  return res;
}, (error) => {
  // console.log(error.toString().match(/\d{3}/)[0])//错误拦截器
  // if(error.toString().match(/\d{3}/)[0]==401){
  //   window.localStorage.removeItem('code')
  // }
  return Promise.reject(error);
  
  
});
//返回一个Promise(发送post请求)
export function fetch(url, params) {
  return new Promise((resolve, reject) => {
    axios.post(url, params)
      .then(response => {
        resolve(response.data);
      }, err => {
        reject(err);
      })
      .catch((error) => {
        reject(error)
      })
  })
}
//返回一个Promise(发送post请求)
export function postList(url, params) {
    return new Promise((resolve, reject) => {
      axios.post(url,params)
        .then(response => {
          resolve(response.data);
        }, err => {
          reject(err);
        })
        .catch((error) => {
          reject(error)
        })
    })
  }
//返回一个Promise(发送get请求)
export function getList(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url,{params:params})
      .then(response => {
        resolve(response.data);
      }, err => {
        reject(err);
      })
      .catch((error) => {
        reject(error)
      })
  })
}

//通过传递API调取接口
export function url(params) {
  return new Promise((resolve, reject) => {
    axios.get(params.url, {params: params.data})
      .then(response => {
        resolve(response.data);
      }, err => {
        reject(err);
      })
      .catch((error) => {
        reject(error)
      })
  })
}
export default {
    getList(url,params){
        return getList(url,params)
    },
    postList(url,params){
        return postList(url,params)
    },
}
/**  分开写headers **/
//axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';          //配置请求头(content-type)
//axios.defaults.headers.post['token'] =  localStorage.token                                                //配置请求头(token)
//axios.defaults.headers.get['Content-Type'] = 'application/json;charset=UTF-8';                            //配置请求头(content-type)
//axios.defaults.headers.get['token'] = localStorage.token;                                                 //配置请求头(content-type)
//axios.defaults.headers.common['token'] = '';                                                     
//axios.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';      

4.使用

http.postList('',{}).then(res=>{})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值