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

230
Vistas
La publicación Flask-restful api devuelve el cuerpo vacío a través de javascript

Al tener una base de datos local que se ejecuta a través de python, estoy tratando de hacer algunas solicitudes de API a través de un sitio web. Primero probé tanto GET como POST como python unittest, que funcionó bien. Luego usando javascript; La función GET funciona perfectamente, pero mi función POST, haga lo que haga, envía un cuerpo vacío a la función python (datos variables en el código python) o, en otras palabras, un dictado sin nada, mientras paso datos a través de él.

fragmento de python relevante:

 conn = sq3.connect("temp.db", check_same_thread=False) class Login(Resource): def post(self): data = flask.request.form.to_dict() lst = conn.execute(f"""SELECT AccountID, Role FROM Account WHERE Email = \"{data['email']}\" AND PassW = \"{data['passw_hashed']}\" """).fetchall() return {"LoginSucces": [{"AccountId": e[0], "Role": e[1]} for e in lst]} app = flask.Flask(__name__) cors = CORS(app, resources={r"/*": {"origins": '*'}}) api = Api(app) api.add_resource(Login, "/login") app.run(port=8080)

JavaScript:

 function req_login(){ let email_p = document.getElementById("login_email").value let passw = document.getElementById("login_passw").value let data = JSON.stringify({email: email_p,passw_hashed: passw.hashCode()}); const request = new XMLHttpRequest(); request.open("POST", IP+"/login"); request.setRequestHeader("Accept", "application/json"); request.setRequestHeader('Content-Type', 'application/json'); request.send(data); request.onload = (e) => { let jsret = JSON.parse(request.response); let topkey = Object.keys(jsret); let data_arr = jsret[topkey]; alert(data_arr['AccountId']); } }

También probé con datos manuales en javascript para ver si leer los datos era el problema, sin éxito con el siguiente código:

const data = `{email: "tst@gmail.com", passw: "testtest123"}`;

¿Dónde sale mal? ¿Qué puedo probar/cambiar? Si necesitas más información, envía un comentario.

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

0

Después de un poco de depuración, encontré la solución yo mismo. Espero que ayude a alguien:

reemplazar data = flask.request.get_json()

con data = flask.request.json

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