[Solução] O console analisa os dados de visualização e de resposta de forma inconsistente e usa transformResponse para modificar os dados de resposta.

pergunta

O console analisa os dados de visualização e de resposta de forma inconsistente.
por exemplo:

{id: 1246000001606460673}

// 会被默认解析成
{id: 1246000001606460700}

Na Visualização (função de visualização), o console converterá automaticamente os dados JSON enviados para o formato de objeto JavaScript.

Como os dados são do tipo Long, após serem retornados ao navegador, haverá um problema quando o navegador converter o formato dos dados.

Depois que o front-end o recebe, os dígitos seguintes tornam-se 0. Devido às razões inerentes ao tipo Number em JavaScript, ele não pode representar completamente o número do tipo Long. Quando o comprimento Long é maior que 17 dígitos, o problema de perda de precisão Vai acontecer.

resolver

Solução 1: Converta os dados em uma string antes de retornar os dados . Opção 2: Combine a biblioteca de código aberto json-bigint e use transformResponse para modificar os dados de resposta
antes de passá-los para then/catch .

fio adicionar json-bigint -S

import axios from 'axios'
import JSONbig from 'json-bigint'


      axios.defaults.transformResponse = [
        data => {
          const json = JSONbig({ storeAsString: true })
          const res = json.parse(data)
          return res
        }
      ]

Acho que você gosta

Origin blog.csdn.net/weixin_46413834/article/details/132536902
Recomendado
Clasificación