美文网首页
vuecli3+axios ie9 response.data返

vuecli3+axios ie9 response.data返

作者: 累累的 | 来源:发表于2019-06-04 10:02 被阅读0次

第一次用axios 遇到的一个坑
当axios的responseType设置为JSON,ie9 response.data则返回了undefined

因为大部分接口后台返回的都是json,配置里写的responseType:'json' 只能获取返回的json格式数据,所以如果有接口返回的是字符串,response.data是获取不到的,只能手动将字符串转换成JSON格式
解决方案

  //给axios的请求头设置一下就行
axios.interceptors.response.use(response => {
  // IE 9
  if (response.data == null && response.config.responseType === 'JSON' && response.request.responseText != null) {
    try {
      response.data = JSON.parse(response.request.responseText);
    } catch (e) {
    }
  }
  return response;
})

这样就完美解决了axios的responseType设置为JSON但是在ie9里面返回undefined的问题了

相关文章