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

168
Vistas
¿Por qué mi aplicación de matraz no se redirige después de la solicitud de AJAX?

Estoy creando una aplicación web para ayudar a las personas discapacitadas a navegar por Internet. Toma el comando de voz a través de un JavaScript y envía el comando a la aplicación Python app.py Flask. Sin embargo, por extraño que parezca, no está redirigiendo de ninguna manera y me da un error de servidor interno 500.

Esta es la función de JavaScript que envía el comando:

 // This function sends command to python function sendCommand(command){ let userCommand = { "command": command } $.ajax({ type: "POST", url: "/command", data: JSON.stringify(userCommand), contentType: "application/JSON", dataType: 'json', success: function(){ window.location.href = "temp.html"; } }) }

Y esta es la aplicación del matraz de Python:

 # Importing required libraries and functions from flask import Flask, render_template, request, redirect import speech_recognition as sr import sys # Initiating Flask app = Flask(__name__) # Command Global variable COMMAND = "" # Route to Command (Index) page @app.route("/", methods=["GET", "POST"]) def index(): return render_template("index.html") # Processing Command @app.route('/command', methods=["POST"]) def get_javascript_data(): if request.method == "POST": JSONdict = request.get_json() COMMAND = JSONdict["command"] print(f'{COMMAND}', file=sys.stdout) if "search" in COMMAND: print("TODOSearch") elif ("music" and "play") in COMMAND: print("TODO") else: print("TODO") return redirect("/redirect") @app.route("/redirect") def redirect(): return render_template("redirect.html")

¿Cuál es mi culpa aquí?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No podrá redirigir desde el matraz en una solicitud POST. En su lugar, use return 200

Entonces debería activarse la función de éxito en su solicitud de Ajax.

Si necesita más flexibilidad, también puede devolver datos json a la función "éxito" o "error". return json.dumps({'success' : True}), 200, {'ContentType' : 'application/json'}

about 4 years ago · Santiago Trujillo 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