Me gustaría almacenar mi tabla mysql en una matriz de javascript. Deseo insertar en mi matriz cada elemento de la tabla para que me quede con una matriz como esta:
array[0] = [question: information01, answer: information02...] array[1] = [question: information11, answer: information12...]Con mi siguiente código, todos los elementos de mi tabla se almacenan en el primer elemento de mi matriz, lo que me da esto:
array[0] = [[question: information01, answer: information02...], [question: information11, answer: information12...]]y entonces la matriz tiene un tamaño de 0 en lugar del tamaño de la tabla mysql (espero que tenga sentido)
var availableQuestions = []; ajaxRequest("GET","../controller.php?func=get_enigme", (enigme) => { var enigmeAll = JSON.parse(enigme); for (var i=0; i < enigmeAll.length; i++){ availableQuestions.push(enigmeAll[i]); } }); function ajaxRequest(type,url,callback,data=""){ let request = new XMLHttpRequest(); request.open(type, url); request.onload = function () { switch (request.status){ case 200: case 201: //console.log(request.responseText); callback(request.responseText); break; default: console.log(request.status); } }; request.send(data); } Cuando hago un console.log(availableQuestions.length) en mi ajaxRequest, dice 2, pero cuando lo hago fuera de mi función, dice length = 0 . Que no entiendo. ¿Alguien tiene una respuesta a mi problema? Muchas gracias de antemano por sus respuestas,
EDITAR: simplemente puse mi análisis en otra matriz con mi ciclo for que, por supuesto, no ayudó ...
var availableQuestions = []; ajaxRequest("GET","../controller.php?func=get_enigme", (enigme) => { var enigmeAll = JSON.parse(enigme); for (var i=0; i < enigmeAll.length; i++){ availableQuestions.push([enigmeAll[i]]); } });prueba esto
La respuesta que está recibiendo no está en el formato correcto para que su análisis funcione. Probablemente quieras terminar con algo como:
[ { id: 1, question: "Question1" answer: "Answer1" }, { id: 2, question: "Question2" answer: "Answer2" } ]Para que eso suceda, la respuesta que obtenga de la llamada ajax debería ser similar. Si tiene control sobre cómo se construye la respuesta, sería mejor seguir adelante y modificarla. Si no es así, tendrá que ampliar un poco la lógica de analizar esa respuesta, ya que contiene muchos tokens que no son realmente necesarios (veo muchos índices como claves, probablemente como resultado de encadenar algunos datos sin procesar que provienen de la tabla).