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

90
Views
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 answers
Answer question

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 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!