这周遇到一个问题,使用fetch请求返回的数据是GBK格式的,中文会显示乱码,最终解决方案使用FileReader来解析
代码如下:
static getAddress() {
let url = 'https://whois.pconline.com.cn/ipJson.jsp?json=true'
return new Promise((resolve, reject) => {
fetch(url)
.then(response => response.blob())
.then(data => {
let reader = new FileReader()
reader.onload = () => {
var text = reader.result
resolve(text)
console.log('返回:', text)
}
reader.readAsText(data, 'GBK')
})
.catch(error => console.error(error))
})
}