1. #1

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard Get Request - Javascript

    Hallo,
    momentan arbeite ich sehr viel mit HTTP Requests. Nun stellt sich mir allerdings die Frage wie im allgemeinen "javascript" funktioniert (im zusammenspiel mit java).

    Folgendes Szenario:
    Ich habe eine Website welches nach 5 Sekunden (Javascript countdown) einen Text anzeigt z.b. "5 Sekunden vorbei" (Sourcecode wird komplett geupdated).

    Ich lade mir nun also per Java per GET Request den 1 Sourcecode. Hier sind die 5 Sekunden noch nicht abgezählt. Wie komme ich nun nach 5 Sekunden an den neuen Quelltext?
    Einfach einen neuen Request starten? (Wie merkt der Server dann das ich bereits vor 5 minuten "da war"?).

    Vielen Dank.


  2. #2

    Registriert seit
    19.11.2011
    Beiträge
    496
    Thanked 412 Times in 268 Posts

    Standard AW: Get Request - Javascript

    Wenn die Funktion im onload-Attribut angegeben wurde, wird bei jedem Seitenaufruf der Countdown gestartet.
    Es gibt Rhino, eine Java-Implementierung von JavaScript. Du könntest damit den heruntergeladenen JavaScript-Code zur Laufzeit interpretieren lassen.

  3. The Following User Says Thank You to Mr. White For This Useful Post:

    DANP (19.11.2012)

  4. #3

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard AW: Get Request - Javascript

    Um das alles zu präzesieren:
    Es geht direkt um adf.ly . Öffne ich einen Link im Browser (z.b. AdF.ly - shrink your URLs and get paid! google ) startet ein 5 sekunden Countdown.
    Ich möchte nun per Java diese Seite aufrufen und den Countdown ablaufen lassen damit paid = true gesetzt wird.
    Allerdings kann ich mir nicht vorstellen, wenn ich per GET-Request die Seite aufrufe das Javaskript "asynchron" weiterläuft, obwohl keine Verbindung offen ist?


  5. #4
    Avatar von Comu
    Registriert seit
    18.11.2011
    Beiträge
    772
    Thanked 753 Times in 363 Posts

    Standard AW: Get Request - Javascript

    Weiß nun nicht ob du Java oder JavaScript nutzt, aber mit dem JS-Framework und einiger JavaScript Funktionen lässt sich das ganz einfach realisieren:

    PHP-Code:
    var startCountdown = function() {
        
    // Jede Sekunde Code hinzufügen
        
    setInterval(function(){
            
    // Dem Counter eine Sekunde hinzurechnen
            
    $('#counter').html($('#counter').html() + 1);
        },
    1000);
    };

    $(
    document).ready(function(){
        
    // Seite abfragen
        
    $.ajax({
            
    url'http://www.deineurl.de'
        
    }).done(function(adflyContent){
            
    // Wenn fertig, starte Countdown
            
    startCountdown();
            
            
    // und setze ein Interval um den Countdown zu checken
            
    setInterval(function(){
                
    // Wenn der Counter abgelaufen ist
                
    if($('#counter').html() >= 5) {
                    
    // Hole Quelltext erneut (oben Ajax Request)
                
    }
            },
    1000);
        });
    }); 
    Ob das funktioniert weiß ich nicht, war nur zum zeigen gedacht

  6. The Following User Says Thank You to Comu For This Useful Post:

    DANP (19.11.2012)

  7. #5

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard AW: Get Request - Javascript

    Hi,
    erstmal danke.
    Ich möchte das alles über Java realisieren nicht Javascript.
    In deinem Beispiel öffnest du ja mit ajax die Seite und "hälst diese offen" um die daten abzufragen.

    Dies kann ich soweit ich weiß nicht einfach in java implementieren. Gibt es andere Lösungen bzw Erklärungen?


  8. #6
    Avatar von Comu
    Registriert seit
    18.11.2011
    Beiträge
    772
    Thanked 753 Times in 363 Posts

    Standard AW: Get Request - Javascript

    Nein, die Seite wird nicht offen gehalten. Die Seite wird abgefragt. Mit dem done() event wird quasi gesagt: Mach was, wenn die Seite geladen ist.

    Also lädt er die Seite und startet nachdem sie geladen wurde den Countdown. Dann fragt der mit einem Interval (sowas gibts in Java bestimmt auch) ab, ob der Counter nun die 5 Sekunden enthält - wenn ja - lädt er die Seite noch einmal.

  9. The Following User Says Thank You to Comu For This Useful Post:

    DANP (19.11.2012)

  10. #7

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard AW: Get Request - Javascript

    Dann stellt sich mir gerade die Frage, wie der target server weiß das du bereits vor 2 sekunden die Seite abgerufen hast und noch 3 sekunden zu warten sind?

    Mit den Infos kann man per GET Request das selbe dann nachstellen?!


  11. #8
    Avatar von Comu
    Registriert seit
    18.11.2011
    Beiträge
    772
    Thanked 753 Times in 363 Posts

    Standard AW: Get Request - Javascript

    Der Targetserver (also denke ich mal Adf.ly?) weiß nichts davon. Nach dem laden startet man einen Timer, der dann bei dem User anfängt. Ob dann wirklich 5 Sekunden rumgegangen sind weiß man nicht, man kann aber zur Sicherheit das ganze auf 6-7 Sekunden stellen um auf Nummer sicher zu gehen. Der User weiß es mithilfe der if() Abfrage, da diese jede Sekunde ausgeführt wird, muss der User dementsprechend lange warten.

    Mit GET ist das auch möglich, yep.

Ähnliche Themen

  1. Javascript ist cool
    Von patlux im Forum Der Witz-Komm-Raus Bereich
    Antworten: 3
    Letzter Beitrag: 20.07.2013, 17:32
  2. Uploadbox Javascript?
    Von MHRCube im Forum Webentwicklung
    Antworten: 2
    Letzter Beitrag: 20.02.2013, 00:05
  3. Dynamische Container : Javascript
    Von Raumi im Forum Webentwicklung
    Antworten: 0
    Letzter Beitrag: 01.10.2012, 03:42
  4. [Javascript] 2 Fache Abfrage
    Von Essah im Forum Webentwicklung
    Antworten: 1
    Letzter Beitrag: 27.03.2012, 17:33
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.