Estoy tratando de enviar información de JavaScript a un servidor bottle.py usando AJAX. Después de probar casi todas las soluciones que pude encontrar en stackOverflow, bottle docs o Google en general. Ninguna solución ha funcionado.
En aras de la claridad, solo he incluido las partes del código relacionadas con la llamada AJAX. ¿Alguien puede explicar por qué request.forms.get devuelve Ninguno y cómo corregirlo?
Este es el código JS:
let rawData = {"user0Name": users[0], "user0Bucks": userBetaBucks[0], "user1Name": users[1], "user1Bucks": userBetaBucks[1], "user2Name": users[2], "user2Bucks": userBetaBucks[2], "user3Name": users[3], "user3Bucks": userBetaBucks[3], "user4Name": users[4], "user4Bucks": userBetaBucks[4] }; $.ajax({ url: "/updateValues", type: "POST", dataType: "json", data: rawData, contentType: "application/json;", });Este es el código de Python:
@post('/updateValues') def updateValues(): session = load_session(request) gameID = session['gameID'] rawInfo = json.load(request.forms.get('data'))Nota: 'session = load_session(request)' es una función personalizada creada para recuperar cookies y cargarlas para su posterior modificación dentro de esta función. Como el gameID que ves aquí.
Resulta que necesitaba usar JSON.stringify() en los datos. Todo está arreglado.