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
}
]