Construyendo una aplicación usando matraz. La aplicación utiliza una estructura de tabla para mostrar datos. Parte de su funcionalidad es recopilar los datos de las filas de la tabla especificadas por el usuario. Para ello he colocado un botón en cada fila que ejecuta algunos js. El js recopila la información de la fila, usa JSON.stringify() para convertirlo en un objeto json y emite la solicitud de publicación a la URL del matraz correspondiente.
Registrar el valor del objeto jsonificado en la consola del navegador desde el archivo js muestra que está formado correctamente. La solicitud posterior contacta con la ruta correcta; sin embargo, la función request.get_json() devuelve un valor de Ninguno en el método de esa ruta.
He configurado una ruta separada en el matraz para la prueba. Aquí está el código relevante
de javascript
function do_some_work(e) { var row_data = get_table_row_data(e); row_data = JSON.stringify(row_data); console.log(row_data); $.post("test", row_data); }get_table_row_data() simplemente devuelve un objeto con pares clave:valor. El registro muestra que los datos tienen el formato json correcto.
Y aquí está el código de Python
#TODO @application.route('/test', methods=['GET', 'POST']) def test(): data = request.get_json() print("data is "+format(data)) return redirect(url_for('index'))Aquí los datos aparecen como Ninguno
cualquier ayuda muy apreciada
Es request.json , devolverá un diccionario de los datos JSON. Para obtener un valor, usa request.json.get('value_name') . Así que tu ruta será así.
#TODO @application.route('/test', methods=['GET', 'POST']) def test(): data = request.json print("data is " + format(data)) return redirect(url_for('index'))