在使用request拦截器时,可以设置请求头,验证token等

service.interceptors.request.use(config => {

  config.headers['Content-Type'] = 'application/x-www-form-urlencoded'

  // 解决axios post请求头为json,方便后台获取数据

  if (config.method === 'post') {

    config.headers['Content-Type'] = 'application/json' //  注意:设置很关键

  }

  if (store.getters.token) {

    config.headers['X-Token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改

  }

  return config

}, error => {

  // Do something with request error

  console.log(error) // for debug

  Promise.reject(error)

})


在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然。 

因为params是添加到url的请求字符串中的,用于get请求。 

而data是添加到请求体(body)中的, 用于post请求。

列如:

 

export function deleteByIds(params) {

  return request({

    url: '/user/getUser',

    method: 'get',

    params: params

  })

}

export function updatePerson(params) {

  return request({

    url: '/user/updatePerson',

    method: 'post',

    data: params

  })

}

Logo

前往低代码交流专区

更多推荐