Estoy aprendiendo AJAX y tengo problemas para pasar una matriz al backend. Puedo pasar una variable simple y mi código funciona muy bien, pero cuando paso una matriz, no puedo pasar los datos correctamente.
Mi código está debajo (esto funciona):
function add_var() { var aa = 5; $.ajax({ url : "add_variable/", type : "POST", data : { num1 : aa}, success : function(json) { $('#num3').val(json); }, error : function() { console.log("fail"); } }); };Esto funciona bien y puedo pasar 5 al backend. Sin embargo, cuando cambio aa a una matriz, la función ya no funciona y devuelve un 'Ninguno' en el backend de Vistas.
function add_var() { var aa = [5,10,15]; $.ajax({ url : "add_variable/", type : "POST", data : { num1 : aa}, success : function(json) { $('#num3').val(json); }, error : function() { console.log("fail"); } }); };¿Podría alguien señalarme en la dirección correcta aquí? ¡Cualquier ayuda es apreciada!
Puede hacerlo de esa manera para cualquier cadena o número, pero tan pronto como necesite devolver un objeto (como una matriz), debe "encadenar"
data : {num1 : JSON.stringify(aa)}
Luego, tendría que "Analizar" o "Deserializar" la cadena que la vuelve a convertir en un objeto.
Creo en django, se vería así:
import json nums = json.loads(num1)