Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
La función POST en el servidor devuelve indefinido

tengo una interfaz donde defino una cadena en este caso videoLink . Además de eso, tengo una función asíncrona que se inicia cuando se hace clic en un botón.

 //sveltekit async function addToQueue(){ console.log(videoLink); const res = await fetch('/tool/server', { method: 'POST', body: { videoData: videoLink } }) const json = await res.json() console.log(json); videoLink = ""; }

Esta función envía una solicitud de publicación http con recuperación a mi archivo server.js.

 /** @type {import('@sveltejs/kit').RequestHandler} */ export async function POST(event) { const data = await event.request.body; const link = data.videoData; console.log(link) }

cuando ejecuto la solicitud posterior (haciendo clic en el botón en mi interfaz), mi servidor registra undefined . Por lo que sé, el servidor recibe la solicitud POST, porque solo se registra si hago clic en el botón.

Pero, ¿por qué devuelve undefined ? He intentado analizar el json, pero no funcionó. ¿Alguien puede ayudarme? ¿Qué está mal con mi JSON?

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Abra las herramientas de desarrollo en su navegador. Mira la pestaña Red. Examine la carga de la solicitud que está enviando:

 [object Object]

fetch no admite objetos simples para la opción de body . Los convertirá en cadenas con su método toString() .

Debe proporcionar:

  • un objeto que fetch sí admite. Las opciones comunes son
    • URLSearchParams para application/x-www-form-urlencoded data
    • FormData para multipart/form-data
  • una cadena codificada (como la salida de JSON.stringify ) y también establezca el encabezado de solicitud HTTP content-type para que coincida

El que elija dependerá de las codificaciones que admita el código del lado del servidor.

about 4 years ago · Santiago Trujillo Report

0

Así que he proporcionado

 headers: { 'Content-Type': 'application/json' }

para obtener los datos.

En el lado del servidor he hecho lo siguiente:

 export async function POST({request}) { const data = await request.json() console.log(data) return {} }

Ahora la función devuelve {} , que no es obligatorio. La razón por la que funciona ahora es que POST obtiene {request} como argumento. Fíjate en las llaves. Muchas gracias a @Quentin por su ayuda.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!