Hola a todos. Una vez más acudo a este foro para intentar dar solución a un problema que me tiene loco. Mi caso es el siguiente.
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 originalfunction 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