vue中怎么解决Uncaught (in promise) TypeError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': String contains non ISO-8859-1 code point.
时间: 2024-03-18 07:41:32 浏览: 112
解决Vue-Router升级导致的Uncaught (in promise)问题
这个错误通常是因为在设置 XMLHttpRequest 请求头时,传入的参数包含了非 ISO-8859-1 编码的字符。解决方法是将请求头中包含非 ASCII 字符的字符串进行编码,可以使用 JavaScript 内置的 encodeURIComponent() 方法进行编码。
具体操作步骤如下:
1. 找到设置请求头的代码,检查传入的参数中是否包含非 ISO-8859-1 编码的字符。
2. 如果存在非 ISO-8859-1 编码的字符,使用 encodeURIComponent() 方法对字符串进行编码。
例如,如果要设置一个包含中文字符的请求头,可以使用以下代码进行编码:
```
const headerValue = '中文';
const encodedHeaderValue = encodeURIComponent(headerValue);
```
3. 将编码后的字符串作为请求头的参数传入即可。
```
xhr.setRequestHeader('header-name', encodedHeaderValue);
```
这样就可以避免出现 Uncaught (in promise) TypeError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': String contains non ISO-8859-1 code point 错误了。
阅读全文