Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

262
Vistas
¿Cómo puedo integrar SvelteKit y Google Forms?

El cambio de última hora de SvelteKit del 19 de enero (ver aquí para más detalles) significa que mi integración con Formularios de Google ya no funciona.

Fue una dificultad menor hacer que funcionara en primer lugar, y no puedo actualizarlo; recibo repetidamente el mensaje de error: "Para acceder al cuerpo de la solicitud, use los métodos text/json/arrayBuffer/formData, p. ej. body = await request.json() ", y un enlace a la conversación de GitHub.

Aquí está mi componente de Contact ...

 <script> let submitStatus; const submitForm = async (data) => { submitStatus = 'submitting'; const formData = new FormData(data.currentTarget); const res = await fetch('contact.json', { method: 'POST', body: formData }); const { message } = await res.json(); submitStatus = message; }; const refreshForm = () => { /* Trigger re-render of component */ submitStatus = undefined; }; </script>

... y aquí está el contact.json.js correspondiente:

 export const post = async (request) => { const name = request.body.get('name'); const email = request.body.get('email'); const message = request.body.get('message'); const res = await fetch(`URL TO RELEVANT GOOGLE FORM GOES HERE`); if (res.status === 200) { return { status: 200, body: { message: 'success' } }; } else { return { status: 404, body: { message: 'failed' } }; } };

¡Cualquier ayuda sería muy apreciada!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La solución es, de hecho, relativamente simple y solo implicó un pequeño cambio en el código existente. Tuve que acceder a event.request (desestructurado para request ) y continuar desde allí, impulsado por esta respuesta a una pregunta similar. Entonces, después de eso, contact.json.js parece...

 export const post = async ({ request }) => { const body = await request.formData(); const name = body.get('name'); const email = body.get('email'); const message = body.get('message'); const response = await fetch(`URL TO RELEVANT GOOGLE FORM GOES HERE`); if (response.status === 200) { return { status: 200, body: { message: 'success' } }; } else { return { status: 404, body: { message: 'failed' } }; } };

(Tenga en cuenta también que todo este formulario se basó en este video de WebJeda, que ahora no funcionará con la última versión de SvelteKit, pero sí con esta simple modificación).

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda