Hirdetés

Keresés

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

  • gary89
    csendes tag

    Sajnos nem működik még, pedig adtam az if előtt kezdőértéket a $num-nak, meg függvényt is létrehoztam. Most a JS függvényen belüli PHP-zés nem tetszik valamiért a programnak. Így néz ki most a kódom:
    <html>
     <head>
      <title>Fájlkezelő</title>
     </head>
     <body>
      <script type="text/javascript">
      function szamlal() {
      <?php
       $File = 'adat.txt';     // A számláló file neve
       $num=0;
       if (file_exists($File))    // Létezik a file?
       {
        $fp = fopen($File,"r");              // Megnyitjuk olvasásra
        $num = fread($fp, filesize($File));  // Beolvassuk a tartalmát a $num változóba.
        fclose($fp);                         // Zárjuk a filet.
        $num=$num+1;                         // A változó értékét megnöveljük
        $fp = fopen($File,"w");              // Megnyitjuk ugyanazt a filet, de most írásra
        fwrite($fp, $num, 10);               // Kiírjuk a változó értékét.
        fclose($fp);                         // Zárjuk a fájlt
        return $num;
       }
      ?>
      };
      //<script type="text/javascript">
       valami = szamlal();//'<?php echo $num ?>'; //Ha elhagyom az idézőjeleket, UNEXPECTED TOKEN hiba lesz a konzolban, ha nem, akkor meg kiír mindent közte!!!
       alert(valami);
      </script>
     </body>
    </html>

    - a szamlal function üres, nem csinál semmit sem, így undefined lesz JS oldalon a valami.
    - az extra // bezavarhat html parseoláskor (bár a modern böngészők tudnak vele együtt élni)
    - a return $num; okozhatja a furcsa viselkedést, ott egy ilyen kellene, hogy helyes legyen:
    echo 'return '. $num . ';' ; így a szamol helyes értékkel térne vissza és később nem kellene az echo $num

  • gary89
    csendes tag

    Kérnék egy kis segítséget, egyszerűen teljesen bele gabalyodtam már a az Observer-be, persze próbálok utána olvasni, de valahogy nem teljesen értem a működésüket stb, Observer az nem vár lényegében, csak ha megkapja az adatot, akkor megcsinálja amit kell, de nem tudom ezt valahogy rá "húzni" az alatta lévő 2 sorra is, hogy addig ne hajtódjon végre, amíg az observer nem kapja meg az adatot?

    lényeg, hogy ha HTTP401-et kapok vissza, akkor kér a kliens egy új tokent, és azzal újra elküldi a kérést, viszont ki loggoltam és amit nem igazán értek, hogy kiírja hogy "1", aztán kiírja hogy "null" mert nincs a localstorage-be a token, aztán kiírja a tokent ami a subscribe-n belül van

    Azt akarom megoldani, hogy az utolsó log lényegében addig ne legyen végre hajtva, míg nem kerül be a localstorageba a token

    if(localStorage.getItem("token"))
    {
    localStorage.clear();
    console.log("1");
    this.auth.refreshToken().subscribe(
    res=>{
    localStorage.setItem('token',res['token'])
    console.log(localStorage.getItem('token'));
    request = this.addRefreshToken(request);
    },
    err=>console.log(err)
    )
    console.log(localStorage.getItem('token'));
    return next.handle(request);
    }

    Szia!

    Legegyszerűbb ha az egészet becsomagolod egy promiseba, az utolsó két sort berakod a res-hez tartozó blokkba és resolve-al térsz vissza. Error esetén természetesen reject.

    [pastebin]

    Nagyobb kontextus nélkül ennyit tudok mondani, emiatt a függvényed (ha van) visszatérési típusát módosítanod kell, de kb ez a legegyszerűbb.

    Ha Observereket használsz és az abból származó eredményre van szükséged és return-t akarsz használni, akkor valami tervezési gond lehet.

  • gary89
    csendes tag

    Sziasztok!

    Ezt az egyszerű kis kódot szeretném beilleszteni egy oldalba, de az egész oldal eltűnik és csak a kód marad meg. Mit rontottam el?

    <!DOCTYPE html>
    <html>
    <body>



    <p id="demo"></p>

    <script>
    function ido() {
    var x=Date();
    document.getElementById("demo");
    document.body.innerHTML=x;

    }

    setInterval(ido,1000)
    </script>

    </body>
    </html>

    azt, hogy a body tag tartalmát írod felül a demo helyett, próbáld így:

    var x=Date();
    var demoTag = document.getElementById("demo");
    demoTag.innerHTML = x;

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