Rumah  >  Soal Jawab  >  teks badan

Penghala aplikasi beta NextJS: permintaan menggunakan pengambilan gagal tetapi berfungsi dengan baik dalam penyemak imbas

Saya menggunakan nextJS dengan direktori APP dan saya menghadapi masalah ini apabila melakukan permintaan GET...

Saya mempunyai fungsi berikut untuk mendapatkan Projek daripada /project Route.ts saya.

Nampaknya ia tidak mencetuskan fungsi GET dalam laluan saya.ts

console.log("dalam GET /projects") tidak pernah menyala dan saya mendapat ralat JSON yang tidak dijangka pada penghujungnya.

Walau bagaimanapun, jika saya mengakses "http://localhost:3000/api/project" dalam penyemak imbas, ia menekan fungsi GET dalam route.ts saya dan saya mendapat kembali JSON...

Terima kasih atas bantuan anda, saya telah mengusahakan isu ini untuk seketika...

export const projectsGet = async () => {
  const res = await fetch("http://localhost:3000/api/project", {
    method: "GET",
    headers: {
      "Content-Type": "application/json",
    },
  });

  console.log(res, 'before')     //triggers
  const data = await res.json()  // error: Unexpected end of JSON input
  console.log(data, 'after')     // does not trigger
  
  return data
};

Ini adalah laluan projek saya, terletak di /api/project/route.ts. Saya mempunyai laluan POST dalam fail yang sama yang mencipta projek dan berfungsi dengan baik...

export const GET = async () => {
  console.log("in GET /projects");  //never triggers unless i visit the URL in browser

  const user = await getUserFromCookie(cookies());

  const projects = await db.project.findMany({
    where: {
      ownerId: user?.id,
    },
    include: {
      tasks: true,
    },
  });

  const filteredProjects = projects.filter((project) => {
    return project.deleted === false;
  });

  return NextResponse.json(filteredProjects);
};

P粉141035089P粉141035089204 hari yang lalu263

membalas semua(1)saya akan balas

  • P粉135799949

    P粉1357999492024-03-29 18:24:48

    Saya rasa anda patut mengembalikan json dalam borang ini dalam `/api/project/route.ts.

    export async function GET(){
      console.log("in GET /projects");
    
      const user = await getUserFromCookie(cookies());
    
      const projects = await db.project.findMany({
        where: {
          ownerId: user?.id,
        },
        include: {
          tasks: true,
        },
      });
    
      const filteredProjects = projects.filter((project) => {
        return project.deleted === false;
      });
    
      return new Response(JSON.stringify(filteredProjects));
    };

    balas
    0
  • Batalbalas