码迷,mamicode.com
首页 > 移动开发 > 详细

axios在IE9环境下报错Unhandled promise rejection TypeError: 无法获取未定义或 null 引用的属性“result“

时间:2021-05-24 14:25:28      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:request   ==   ret   合并   net   手动   关闭   int   cep   

原文链接

官方给的解释是:XMLHttpRequest.response只支持IE10+(https://msdn.microsoft.com/en-us/library/hh872881(v=vs.85).aspx)。

原因就清楚了,IE8-9没有这个字段,所以axios中的response.data赋值时就为undefined。

这个问题在2016年被提出,2019年8月被关闭了,虽然中间给出了兼容办法,但PR一直未合并。原因是认为ie9已经过时了,微软从2017年3月31日就已经停止了维护支持。所以需要自己手动稍稍改一下。

axios.interceptors.response.use(
  response => {
    // IE 8-9 
    if (response.data == null && response.config.responseType === ‘json‘ && response.request.responseText != null) {
      try {
        // eslint-disable-next-line no-param-reassign
        response.data = JSON.parse(response.request.responseText);
      } catch (e) {
        // ignored
      }
    }
    return response;
  }
)

 

axios在IE9环境下报错Unhandled promise rejection TypeError: 无法获取未定义或 null 引用的属性“result“

标签:request   ==   ret   合并   net   手动   关闭   int   cep   

原文地址:https://www.cnblogs.com/dianzan/p/14779783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!