vue 前端报:TypeError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': Value is not a valid ByteString.

遇到了一个问题。前端请求头传中文过去会报错。

原因:

  • 请求的头信息中不能出现中文或UTF-8码的字符

解决方法:


将该字段进行编码或者加密,使用Base64进行编码 encodeURI() 这个函数

let headerIn = {
        headers:{}
      }
      const logName = store.getters.userCache.logName
      const userinfo = `logName=${logName}&userid=${store.getters.userCache.userId}`
      if(sessionStorage.getItem("userTk"))headerIn.headers.Authorization = sessionStorage.getItem("userTk")
      if(logName)headerIn.headers.userinfo = userinfo
      if(encryRequest)headerIn.headers.encryRequest = 'true'
      if(encryResponse)headerIn.headers.encryResponse = 'true'
      config = Object.assign(headerIn,config)

 

posted @ 2020-08-26 18:40  拈花醉  阅读(8681)  评论(0编辑  收藏  举报