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

92
Vistas
Cuerpo de solicitud JS que no aparece en Flask

Estoy intentando hacer una solicitud POST desde un script JS a un servidor Flask en pythonanywhere así:

 const response = await fetch('http://myusername.pythonanywhere.com/', { method: 'POST', mode: 'no-cors', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ track: track }) });

Donde pista es una matriz de números nx10. He realizado con éxito solicitudes al servidor a través de Insomnia con un cuerpo como este:

 { "track": [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10.234], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]] }

e imprimí el contenido del cuerpo de la solicitud en los registros donde se ve así:

 2021-11-16 15:57:14 Test message! 2021-11-16 15:57:14 <Request 'http://myusername.pythonanywhere.com/' [POST]> 2021-11-16 15:57:14 {'track': [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10.234], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]}

Sin embargo, cuando intento realizar una solicitud desde mi aplicación web con el primer fragmento de código, obtengo esto en los registros:

 2021-11-16 15:54:21 Test message! 2021-11-16 15:54:21 <Request 'http://myusername.pythonanywhere.com/' [POST]> 2021-11-16 15:54:21 None

Código del servidor:

 @app.route('/', methods=['POST']) def handle_post(): req_data = request.get_json() print("Test message!") print(request) print(req_data) data = req_data['track'] trackData = np.array(data) grade = analysisV2(trackData) return jsonify({"grade": grade})

No tengo idea de por qué una solicitud funciona pero la otra no. También intenté codificar los mismos datos que estoy usando en Insomnia en el cuerpo de solicitud de JS sin ninguna diferencia. ¿Alguien ve algo que me pueda estar perdiendo?

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

0

Me las arreglé para averiguar qué estaba pasando en caso de que alguien se lo pregunte y esté haciendo algo similar.

Hubo un par de problemas aquí:

  1. Agregar mode: 'no-cors' a la solicitud evita que el servidor responda con datos reales, por lo que debe eliminarse.
  2. El método get_json() de Flask no funcionaba por alguna razón en este caso, así que en su lugar usé el método json.loads(request.get_data()). En la respuesta, también se usó el método json.dumps() en lugar de .jsonify().
  3. El cliente debe enviar una solicitud con el encabezado 'Access-Control-Allow-Origin': '*' .
  4. El servidor también necesita tener habilitado CORS con from flask_cors import CORS y CORS(app)
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