Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    Igen ez már feltűnt, viszont egyáltalán semmilyen válaszom nincs.
    Fel se megy a telefon a netre. :(

    Lekértem a ready state-et is menet közben e módon:
    http.onreadystatechange = function() {flash(http.readyState}
    El is számol 1-től 4-ig, de a 3 az kimarad.
    És üres a responseText. :F
    Bármilyen linket adok meg egyiket sem tölti le, mindig üres marad az adat.

    Már arra is rájöttem, hogy return csak akkor kell, ha function() szerepében hívom meg a kódot, amúgy meg egyszerűen flash(http.responseText) kódot használtam.
    A flash() itt egy Android Toast üzenetet jelenít meg; olyasmi, mint az alert().

    MÁS:
    Mi a helyzet akkor, ha kevesebb paramétert akarok átadni egy függvénynek, mint amennyi definiálva van?
    Pl:
    function hello(text1,text2)
    { blahblahblah }

    hello(text1);

    Ilyen esetben kötelező mindkét paramétert átadni?
    Ezt nem csak a saját készítésű függvényekre értem, hanem a JavaScript-ben általában.
    Nem találtam erre vonatkozó infót egyik tutorial-ban sem, hogy kötelező-e teljesen paraméterezni.

    Most látom csak, eddig elkerülte a figyelmem, hogy a protokollt a cím elé nem írtad oda, ez gondot okozhat, tehát ezt:
    http.open("GET","maps.googleapis.com/maps/api/geocode/xml?latlng="+loc+"&sensor=true", false);

    cseréld le erre:
    http.open("GET","https://maps.googleapis.com/maps/api/geocode/xml?latlng="+loc+"&sensor=true", false);

    Annyit változtattam, hogy eléraktam a "https://" részt.

    Amúgy ez a "http" változónév nem túl szerencsés sztem. Akkor már "httpRequest" vagy ilyesmi, amit használnak pl. MDN-en is, kifejezőbb kicsit. Bár nem kardinális kérdés.

    Tehát akkor összességében valami ilyesmi legyen a kódod (próbáld ki, ez megy-e):

    var loc = "40.714224,-73.961452"; // csak példa
    var httpRequest = new XMLHttpRequest();
    httpRequest.onreadystatechange = function() {
    flash("readyState: "+httpRequest.readyState);
    flash("status: "+httpRequest.status);
    };
    var url = "https://maps.googleapis.com/maps/api/geocode/xml?latlng="+loc+"&sensor=true";
    var isAsynchronous = true; // változtasd meg, attól függően, hogy aszinkron kérést szeretnél, vagy sem
    httpRequest.open("GET", url, isAsynchronous);
    httpRequest.send();

    ==================================

    "Mi a helyzet akkor, ha kevesebb paramétert akarok átadni egy függvénynek, mint amennyi definiálva van?"
    JavaScriptben ez működőképes, ez esetben a függvény paraméterei egyszerűen definiálatlanok maradnak, tehát undefined "értékük" lesz.

    Böngészőben ezt nagyon egyszerűen tudod csekkolni, nyisd meg az adott böngésző fejlesztőpanelét (ált. F12), kattints a Console feliratra, majd simán másold be ezt a kis kódot, és próbálgasd (az általad mutatott példával):

    function hello(var1, var2) {
    console.log('var1', var1);
    console.log('var2', var2);
    }

    var blabla = 42;
    hello(blabla);

    Ez esetben var1 értéke 42 lesz, var2 értéke undefined.
    Ha úgy hívod meg a függvényt, hogy nem adsz át paramétert (így: hello();), akkor mindkét paraméter (var1, var2) értéke undefined.

Új hozzászólás Aktív témák