Estoy tratando de obtener el resultado de una solicitud ajax para establecer en una variable a la que puedo acceder fuera de esa solicitud. He intentado esto JQuery - Storing ajax response into global variable pero mi variable beer
permanece indefinida fuera de las funciones $.getJSON
y $.ajax
(probé ambas).Jquery - Almacene respuesta jSON Ajax como variable
Aquí está mi código y donde puedo ver los resultados del console.log(beer)
.
var beer;
$.getJSON(jsonUrl, function (json) {
beer = json;
console.log(beer); // returns beer
});
console.log(beer); // returns undefined
var beer = (function() {
var result;
$.ajax({
url: jsonUrl,
success: function (data) {
result = data;
console.log(beer); // returns beer
}
});
console.log(result); // returns undefined
if (result) return result;
})();
console.log(beer); // returns undefined
Entonces, ¿cómo puedo acceder a la cerveza más adelante en el script desde fuera de la función? – Sebastien
Cualquier cosa que dependa del resultado de esa solicitud JSON debe estar en esa función separada. – chprpipr
¿Y por qué no funcionaría esto? \t \t \t \t cerveza = $ .ajax ({ \t \t \t \t \t url: jsonUrl, \t \t \t \t \t éxito: function (datos) { \t \t \t \t \t \t de datos de retorno; \t \t \t \t \t} \t \t \t}); – Sebastien