vue中http,axios请求

vue是一个纯前端的框架,需要webapi支持数据。通过http请求webapi就行了。我们既可以用jquery ajax请求,也可以使用axios请求,我们项目中选择了后者。axios里有个拦截器挺好的,它可以在请求发送前,添加请求头及一些工作。

const requestInterceptor=axios.interceptors.request.use(
  config => {
    config.data = JSON.stringify(config.data);
    config.headers = {
      'Content-Type':'application/json',
      'Authorization':'Bearer '+getStore('token'),
       xhrFields: {
         withCredentials: true
      },
      'Pragma': 'no-cache',
      'Cache-Control': 'no-cache'
  }
    return config;
  },
  error => {
    return Promise.reject(err);
  }
);

这个拦截器做了两件事情:

a、请求data:把js对象转为json字符串

b、请求头:添加了数据发送格式,token验证、IE下get有缓存,所以加了‘Cache-Control’和‘Pragma’

拦截器在请求的时候,也可以根据情况去掉:

/**
 * post请求
 * @param url
 * @param data
 * @param  isRemoveInterceptor  是否移除拦截器
 * @returns {Promise}
 */

 export function post(url,data = {},isRemoveInterceptor=false){
   if(isRemoveInterceptor){
     axios.interceptors.request.eject(requestInterceptor);
   }
   return new Promise((resolve,reject) => {
     axios.post(axios.defaults.baseURL+url,data)
          .then(response => {
            resolve(response.data);
          },err => {
            reject(err)
          })
   })
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值