Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

500
Visualizações
NextJS: Error al serializar `.data.data` devuelto desde `getServerSideProps`

Soy nuevo en NextJS. Estoy trabajando en una página simple en la que necesito recuperar datos de mi aplicación de back-end. Mi aplicación backend es una aplicación totalmente separada escrita en go. Mi entendimiento es que debo usar getServerSideProps para obtener datos del servidor en carga, por lo que tengo lo siguiente:

myProject/pages/category/new.js :

 export default function AddNewCategory(data) { ... } export const getServerSideProps = async () => { const data = await getAllCategories(); console.log(await data) return { props: { data: { data } } }; };

myProject/api/category.js :

 import axios from "axios"; // getAllCategories returns a list of all active categories export const getAllCategories = async() => { axios.get("http://127.0.0.1:8080/api/v1/categories") .then(function (response) { console.log(response.data) return response.data; }) .catch(error => { console.error("error") console.log(error) }) }

Como puede ver, tengo una declaración de impresión en getAllCategories que imprime:

 { data: [ { id: 1, name: 'Pop', slug: 'pop', description: 'Pop', parent: 0, active: true, created_at: '2022-05-03T19:50:00-04:00', updated_at: '2022-05-03T19:50:00-04:00', deleted_at: null }, { id: 3, name: 'Pop 2', slug: 'pop-2', description: 'Pop', parent: 0, active: true, created_at: '2022-05-03T19:50:24-04:00', updated_at: '2022-05-03T19:50:24-04:00', deleted_at: null } ] }

sin embargo, recibo el siguiente error:

error - Error: Error al serializar .data.data devueltos desde getServerSideProps en "/category/new". Motivo: undefined no se puede serializar como JSON. Utilice null u omita este valor.

Vi que debería intentar convertir los datos en una cadena y luego volver a json:

 return { props: { data: JSON.parse(JSON.stringify(data)) } };

pero cuando hago esto, obtengo un error diferente:

error - SyntaxError: token u inesperado en JSON en la posición 0

estoy usando next@12.1.5

¿Tienes idea de lo que está pasando?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Creo que tienes que convertir tu json en un objeto javascript con .json() . El siguiente código proviene de la documentación de nextjs .

 export async function getServerSideProps() { // Fetch data from external API const res = await getAllCategories(); const data = await res.json() // Pass data to the page via props return { props: { data } } }

EDITAR

En este caso particular, no fue necesario agregar const data = await res.json() porque la solicitud se realiza a través de axios, y en axios las respuestas ya se sirven como objeto javascript, por lo que no es necesario analizar.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda