Necesito hacer una función que obtenga mediante AJAX una lista de asignaturas en una base de datos. Para ello uso jQuery. Hasta ahí bien. Obtengo un objeto en JSON. El problema viene a la hora de "extraer" ese objeto, y hacer que la función lo devuelva. ...creo que no me explico muy bien, mejor pongo código.
Esta es la función que debería devolver un array con la lista de asignaturas:
Código Javascript:
Ver original
function get_asignaturas(){ var respuesta = new Array(); // Petición AJAX al servidor $.ajax({ url: '../php/seleccion.php?f=asignaturas&nocache='+Math.random(), type:'GET', dataType: 'json', // Si la respuesta es exitosa: success: function(json){ //el script php devuelve algo como {"array": ["Inglés", "Francés"]} respuesta = json.array; } }); // end $.ajax return respuesta; }
pero la función me devuelve el array 'respuesta' vacío, como si la parte de "respuesta = json.array;" no hiciese nada. Pero 'json.array' no está vacío, porque si pongo "alert(json.array) en la función 'success', me muestra correctamente el array ["Inglés", "Francés"]
¿Se entiende ahora? Lo que quiero es que la función devuelva el array ["Inglés", "Francés"].
¿Alguna idea de por qué no funciona tal como lo estoy haciendo?
Un saludo