Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: JS: Muuttujan muokkaus ei onnistu

Multibyte [23.11.2016 16:58:07]

#

Moi

jQueryllä haen JSONia, jonka haluaisin tallentaa muuttujaan.
getJSON kutsussa määritellään success funktio, jossa yritän asettaa datan aiemmin alustamaani muuttujaan esim. db.

Sama missä kohtaa alustan tuon db muuttujan, niin se on aina undefined, kun yritän tulostaa sitä esim. konsoliin.

Eikö nuo ennen getJSONia alustetut muuttujat pitäisi olla saatavilla tuolla success funktiossa?

$(document).ready(function(){
var db,query;
    $.getJSON('url', function (data){
        db = data;
    });
        console.log(db); //undefined

Taas ymmärrä, että mikä on niin vaikiaa näin yksinkertaisessa asiassa...

Grez [23.11.2016 17:05:36]

#

Tuossa tapahtuu seuraavaa:

1) Määrittelet muuttujan db
2) Teet sivupyynnön jonka valmistuessa määrittelet ajettavaksi funktion
3) Tulostat muuttujan db sisällön
4) Sivunlataus valmistuu ja funktiosi ajetaan -> data sijoitetaan muuttujaan db

Eli on aivan luonnollista, että db on tyhjä tuossa vaiheessa kun sen tulostat.

Multibyte [23.11.2016 17:55:26]

#

Kiitti! Ihan oikeasti :)

Nyt sain pelittämään ja vieläpä entistä paremmin, kun lisäsin seuraavankin kutsun suoraan successin sisälle.
Katosi siis tarve koko muuttujalle - ei tartte saastuttaa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta