Tengo una aplicación nextJS ejecutándose localmente, también tengo una API de matraz ejecutándose localmente. Sé que el matraz está devolviendo json adecuado a través de Postman. Los resultados de la solicitud get a eso están a continuación:
{ "results": [ [ { "date_posted": "Mon, 17 Jan 2022 00:00:00 GMT", "description": "This is a description", "id": 1, "mainImg": "https://i.ibb.co/pwxkyGw/How-the-Web-Works-1.png", "slug": "Test-Post", "subtitle": "Test Subtitle", "tags": "test tag", "title": "Test Post 2" } ] ] }Entonces, ahora que sabía que era correcto, comencé a buscar en el javascript:
import React from 'react'; export const getStaticPaths = async () => { const res = await fetch('http://localhost:3000/search/all') const data = await res.json() const paths = data.results[0].map(post => { return { params: { id: post.id.toString() } } }) return { paths, fallback: false } } export const getStaticProps = async (context) => { const id = context.params.id const res = await fetch('http://localhost:5000/search/postID/' + id) const data = await res.json() return { props: {data} } } export default function Post({data}) { return ( <div> {props.data} </div> ) }Revisé todo, y por alguna razón sigo recibiendo este error:
Server Error Error: invalid json response body at http://localhost:3000/search/all reason: Unexpected token < in JSON at position 0 This error happened while generating the page. Any console logs will be displayed in the terminal window. Source pages\post\[pid].js (5:17) @ async getStaticPaths 3 | export const getStaticPaths = async () => { 4 | const res = await fetch('http://localhost:3000/search/all') > 5 | const data = await res.json() | ^ 6 | 7 | const paths = data.results[0].map(post => { 8 | return { Show collapsed framesEntiendo que me estoy perdiendo algo, por eso estoy aquí. Si alguien ha visto esto y sabe una solución, ¡hágamelo saber!
Entonces... si miras el código para ambas búsquedas. Uno dice puerto 3000 y el otro dice 5000... Se supone que ambos son 5000. No puedo creer que me tomó tanto tiempo captar ese smdh.