Estoy trabajando con la aplicación Python Flask que usa html básico y javascript para el elemento web.
Estoy enviando datos desde la interfaz de usuario al backend usando la solicitud de publicación de ajax. Después del procesamiento de los datos, desde la aplicación del matraz de Python, devuelvo la respuesta con render_template. Pero no puedo entender cómo se puede representar eso usando ajax en el navegador web.
La API del matraz de Python devuelve esto:
@app.route("/execution_pipeline", methods=['POST', 'GET']) def execution_pipeline(): try: if request.method == 'POST': inputMap = request.get_json() print(inputMap) ###I have my code here### return render_template('demo.html', location=minio_results_file_location) except ReferenceError as e: return "It is a {} Provide proper referaece of file path"El "demo.html" es una plantilla en el directorio de código que quiero cargar en una ejecución exitosa
Y la función ajax es la siguiente:
$.ajax({ type: "POST", url: "execution_pipeline", data: JSON.stringify(data), contentType : "application/json", success: function(response) { window.location.href = response.redirect; } });Pero en la página web, donde intentamos cargar esta respuesta de Ajax, no se encuentra la URL.
¿Hay alguna solución a esto? ¿O estoy haciendo algo mal?
Importe jsonify y url_for desde el matraz:
from flask import jsonify, url_forY trata de volver así a la llamada ajax:
@app.route("/execution_pipeline", methods=['POST', 'GET']) def execution_pipeline(): try: if request.method == 'POST': inputMap = request.get_json() print(inputMap) ###I have my code here### return jsonify({'redirect': url_for('demo.html', location=minio_results_file_location)}) except ReferenceError as e: return "It is a {} Provide proper referaece of file path"