Mam następującą funkcję:Jak uzyskać dane z ajax.done()?
$.ajax({
url: "../../getposts.php"
}).done(function(posts) {
var postsjson = $.parseJSON(posts);
});
Jak mogę użyć zmiennej postsjson
poza funkcją .done()
lub jak mogę oświadczyć, że globalny?
Nie mogę przekazać go do innej funkcji, ponieważ chcę korzystać z tablicy później, a nie po zakończeniu ajax.
Witaj w cudownym świecie ** asynchronicznego **! Nie możesz tego zrobić. – SLaks
Możesz po prostu zadeklarować zmienną globalną poza twoją funkcją i ustawić tę zmienną równą "posts", gdy będzie gotowa. Jednak nie ma sposobu, aby wiedzieć na pewno, kiedy ta zmienna globalna będzie zawierała cokolwiek. – Blazemonger
W JS każda zmienna globalna jest technicznie właściwością obiektu 'window'. Więc powinieneś być w stanie ustawić 'window.myVar = posts;' i voila - instant global. – Blazemonger