【问题标题】:axios request returns garbled json responseaxios 请求返回乱码的 json 响应
【发布时间】:2019-10-23 03:14:13
【问题描述】:

我正在使用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的配置中。但是我怎样才能精确地设置呢?

【问题讨论】:

    标签: javascript express axios


    【解决方案1】:
    • 解决

    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()}`);
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 2021-05-21
      • 2019-06-20
      • 2020-12-18
      • 2020-03-23
      • 1970-01-01
      • 2011-05-30
      相关资源
      最近更新 更多