报错信息如下:
Uncaught (in promise) TypeError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': String contains non ISO-8859-1 code
类型错误:未能在 “XMLHttpRequest” 上执行 “setRequestHeader”:字符串包含非ISO-8859-1代码点
截图如下:
产生问题的原因:
前端向后台发送请求时,请求头headers中添加了中文,所以会出现编码格式问题。
解决方法:
将请求头中的中文进行编码处理,然后后台接收到在进行解码即可,代码如下:
前端处理方式:
// 编码
headers={
key:encodeURIComponent(value)
}
decodeURIComponent(value) // 解码
后台处理方式:
java.net.URLEncoder.encode(xxx,"UTF-8") //编码
java.net.URLDecoder.decode(xxx,"UTF-8") //编码