admin管理员组

文章数量:1567259

做项目的时候,遇到一个小的问题.一个get请求列表数据的接口,在其它浏览器上是可以正常请求的.但是在ie浏览器上确出现奇怪的http请求400错误,其含义是你访问的页面域名不存在或者请求错误,自己的本地,肯定没问题.那就是请求错误了.几经尝试发现是参数带中文的会出现此种情况,没带中文的没有问题.
如图(不带中文的参数返回的内容):

 

解决方法:将传递的参数进行编码,然后传递给后台,js编码encodeURI(中文参数),

// 兼容IE浏览器传递中文,解码后可以正常请求
this.columnStr = encodeURI(this.columnStr)
// 兼容IE浏览器相同接口,有缓存,需要添加时间戳
const time = new Date().getTime()
if (process.env.NODE_ENV === 'development') {
  window.location.href = '/api/join/getExcelJoinlist.data?substenceId=' + this.id + '&columnStr=' + this.columnStr + '&status=' + this.status + '&time=' + time
} else {
   window.location.href = '/join/getExcelJoinlist.data?substenceId=' + this.id + '&columnStr=' + this.columnStr + '&status=' + this.status + '&time=' + time
}

就可以解决传递中文参数,在IE浏览器没有反应的问题了。

本文标签: 文传解决方法浏览器错误http