Te doy la bienvenida a nuestro sitio web, en este sitio hallarás la solucíon a lo que necesitas.
Solución:
Acerca de las respuestas en Flask:
Acerca de las respuestas
El valor de retorno de una función de vista se convierte automáticamente en un objeto de respuesta para usted. Si el valor de retorno es un string se convierte en un objeto de respuesta con el string como cuerpo de respuesta, un
200 OK
código de estado y untext/html
tipo de Mimica. La lógica que aplica Flask para convertir los valores devueltos en objetos de respuesta es la siguiente:
- Si se devuelve un objeto de respuesta del tipo correcto, se devuelve directamente desde la vista.
- si es un stringse crea un objeto de respuesta con esos datos y los parámetros predeterminados.
- Si se devuelve una tupla, los elementos de la tupla pueden proporcionar información adicional. Tales tuplas tienen que estar en la forma
(response, status, headers)
o(response, headers)
donde al menos un elemento tiene que estar en la tupla. losstatus
valor anulará el código de estado yheaders
puede ser una lista o diccionario de valores de encabezado adicionales.- Si nada de eso funciona, Flask asumirá que el valor devuelto es una aplicación WSGI válida y lo convertirá en un objeto de respuesta.
Entonces, si devuelves el texto string (como lo está haciendo), el código de estado que debe recibir su llamada AJAX es 200 OK
, y su devolución de llamada exitosa debe estar ejecutándose. Sin embargo, te recomiendo que devuelvas una respuesta con formato JSON como:
return json.dumps('success':True), 200, 'ContentType':'application/json'
Como opción a la respuesta de aabilio, puede usar el método jsonify en Flask que establece automáticamente el tipo de contenido:
from flask import jsonify
resp = jsonify(success=True)
return resp
Puede (opcionalmente) establecer el código de respuesta explícitamente:
resp.status_code = 200
Además de las respuestas ya publicadas, encuentro usando el make_response
en Flask (desde la versión 0.6) para ser una alternativa más clara, especialmente cuando necesita devolver códigos de estado con la respuesta JSON para API de Flask:
from flask import jsonify, make_response
# ... other code ...
data = 'message': 'Created', 'code': 'SUCCESS'
return make_response(jsonify(data), 201)
Además, este enfoque establecerá automáticamente el Content-Type
encabezado a application/json
.