axios请求返回乱码的json响应

时间:2019-10-23 03:14:13

标签: javascript express axios

我正在使用Express设置新服务器,并在本地使用axios发送http请求。但是,json的axios响应出现乱码。下面是尝试,我在axios中请求的内容类型。

headers: {
      'Content-Type': 'application/json; charset=shift-jis',
      'Access-Control-Allow-Origin': '*',
      'accept-encoding': null,
      proxy: false,
      responseType: 'arraybuffer',
      responseEncoding: 'binary',
      gzip: true,
      encoding: null,
    },

axios.get(options.url, options).then((response) => {
    console.log(response.data);
    return res.send(response.data);
  });

我想通过こんにちは之类的shift-jis获得经过编码的Json响应,但实际输出是���M���X。字母乱码的原因可能是Accept-Encoding的配置。但是我该如何精确设置呢?

1 个答案:

答案 0 :(得分:0)

  • 解决

const axios = require('axios').create({ responseType: 'arraybuffer', });

axios.get(options.url, options).then((response: any) => {
    const str = iconv.decode(response.data, 'shift-JIS');
    console.log(`${str.toString()}`);
    return res.send(`${str.toString()}`);
  });