vue使用axios

下载

npm install axios --save-dev

引用

import axios from 'axios'

封装

新建一个js文件用于放封装函数(util/http.js)

//设置axios请求的默认host
//axios.defaults.baseURL = 'https://wechat.kayunzh.com'
import axios from 'axios'
import qs from 'qs'
let merge = require('webpack-merge') //合并对象的方法,类似于Object.assign();

// axios.defaults.baseURL= 'http://test.ky162.com:9000/'
let base =  'http://test.ky162.com:9000/'
var http = {
  request:(url, method, data, headers, isjson)=>{
      return new Promise((resolve,reject)=>{
        let headerDefult = {
          "content-type": "application/x-www-form-urlencoded", //根据需要设置请求头
        }
        headers = merge(headerDefult, headers)
        data = isjson? data: qs.stringify(data)   //传入的数据是否为json格式
        axios({
          method, //请求方式
          baseURL:base, //域名
          url:url, //接口地址
          data, //数据
          timeout: 5000, //请求超时的时间,(超时后会进入catch)
          headers, //请求头
        })
        .then(res=>{
          if(res.status == 200){
            resolve(res.data)
          }else{
            reject( res && res.data || '')
          }
        })
        .catch(e=>{
          reject(e)
        })
      })
  }
}

export default {
  post(url, data = {}, headers = {}, isjson = false) {
    return http.request(url, "post", data, headers, isjson)
  },
  get(url, params = {}, headers = {}) {
    return http.request(url, "get", params, headers, false)
  },
}

引入
//main.js中引入,
import http from '@/utils/http';//axios封装

Vue.prototype.$http = http //将封装的请求方法注入到vue原型上
使用
//组件内
//get请求方式
this.$http.get()
//post请求方式
this.$http.post()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值