Ankündigung

Einklappen
Keine Ankündigung bisher.

xmlHttpRequest Läd zu lange? Bzw. Funktion wird beendet bevor abgeschlossen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • xmlHttpRequest Läd zu lange? Bzw. Funktion wird beendet bevor abgeschlossen?

    Ich habe ein Problem: Wenn jemand meine Seite über eine schlechte URL-Kombination besucht könnte es theoretisch passieren, dass ein <div> auf hidden steht obwohl es visible sein sollte. Nun prüfe ich beim laden der Seite nach ob dieses <div> visible oder hidden ist (funktioniert auch). Sofern der Inhalt fehlt versuche ich diesen via AJAX nachzuladen - es funktioniert TEILWEISE! Ich habe das Gefühl wenn der Inhalt zu groß ist und dementsprechend lange lädt, dass dies die Fehlerursache ist.

    Hier prüfe ich den Style vom DIV (funktioniert auch zu 100%!!! Habe es jetzt 100x auf Fehler geprüft und hier liegt er definitiv nicht!) ...

    Code:
    function checkContentLoad(){
    
      var StyleCheckGame = window.getComputedStyle( document.querySelector("#game") ).visibility;
    
      if(StyleCheckGame == 'visible'){
        
        loadContent('game', '0', '0');
    
      }}
    Jetzt wird die loadContent(); Funktion aufgerufen und hier scheint - je nach Größe des geladenen Content - es zu funktionieren oder auch nicht.

    Code:
    function loadContent(id){
    
    divId = id;
    
    var buildlink = \'_files/ajax/\' + divId + \'.php;
    
    xmlHttpObject.open(\'POST\', buildlink,true);
    xmlHttpObject.onreadystatechange = upadateContent;
    xmlHttpObject.send(null);return false;
    }
    
    
    function upadateContent(){
      
      if (xmlHttpObject.readyState == 4){
    
        document.getElementById(divId).innerHTML = xmlHttpObject.responseText;
    }}
    Nachdem hier hier nun mehrere Tage dran sitze und wirklich ALLES ausprobiert habe würde es wohl den Rahmen sprengen dies hier aufzulisten. Ich bin jetzt auf Javascript Promise gestoßen und fummel hier nun auch schon 5-6 Stunden herum - bekomme allerdings noch nicht mal ein gescheites alert(); damit hin - ich glaube das ist für mein Anfänger-Level einfach noch etwas extrem! Meine Frage nun: Kann mir hier irgendjemand helfen? Ich bekomme schon echt Anfälle wenn ich hier weiter probiere - nicht mehr lange und der Laptop fliegt gegen die Wand!



  • #2
    es funktioniert TEILWEISE! Ich habe das Gefühl wenn der Inhalt zu groß ist und dementsprechend lange lädt, dass dies die Fehlerursache ist.
    gefühle helfen da wenig weiter.

    i ch würde mal alle ready states ausgeben lassen, und alle rückgaben loggen.

    ducu findest du selbstredent, hier hab ich mal was für c&p gesucht:
    http://help.dottoro.com/ljuvbhxq.php

    oder hier, aber da ist ein fehler drin, der wird aber erklärt:
    http://stackoverflow.com/questions/2...e-ajax-example

    und nutze bitte die debug console deines browsers.

    Kommentar


    • #3
      Hm, da kann ich wie üblich nur jQuery oder Ähnliches empfehlen. Du wirst Dich ca. 60 Minuten einlesen müssen. Die Zeit ist dann aber gut investiert für alle Zukunft.

      Lade Dir hier die Datei zum einbinden runter. http://jquery.com/ und lese hier zum Beispiel zum Thema Ajax-Post: http://api.jquery.com/jquery.post/

      Kommentar

      Lädt...
      X