Penghala aplikasi beta NextJS: permintaan menggunakan pengambilan gagal tetapi berfungsi dengan baik dalam penyemak imbas
P粉141035089
P粉141035089 2024-03-28 21:44:56
0
1
299

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粉141035089
P粉141035089

membalas semua(1)
P粉135799949

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));
};
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan