[GELOEST] Mehrere ajax hintereinander

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ofi123

Neues Mitglied
3 Dezember 2019
20
0
1
Traiskirchen
z.B. als async / await, oder Promise.all()
Wie geht das? Habe von JavaScript nicht so viel Ahnung.

Was muss ich an diesem Ajax Code ändern?
HTML:
 <script>
                  window.onload = function () {
                    div=document.getElementById('text4');
                    var linksrc = "Änderungen/Home/Inhalt4/text.txt";
                  
                    let xhr = new XMLHttpRequest ();
                    xhr.onreadystatechange = function () {
                      if (this.readyState === 4 && this.status === 200) {
                        let response = this.responseText;
                         div.innerHTML+=response;
                        div.style.color='black';
                        }
                    }
                    xhr.open ("GET", linksrc);
                    xhr.send ();
                  }
                  </script>
 
Zuletzt bearbeitet:

basti1012

Senior HTML'ler
26 November 2017
1.272
128
63
39
Minden
sebastian1012.bplaced.net
Eigentlich könnte man das alles ganz anders bauen und alles über ein Script machen ( 1 mal Ajax Script ).
Zu den ersten Fehlern
1. Element p1 gibt es nicht.
Auch wenn man es Theoretisch bei html5 nutzen darf würde ich lieber drauf verzichten.
2. Links mit Sonderzeichen sind auch nicht zu empfehlen " Änderungen/Home/Inhalt1/text.txt ".
 

basti1012

Senior HTML'ler
26 November 2017
1.272
128
63
39
Minden
sebastian1012.bplaced.net
Bei deinen Scripten nutzt du ja auch überall die gleichen Variabeln.
Normalerweise sollte in der Console 4 Requeste stehen.
Zu sehen ist nur der letzte.
Wenn dann gibst du da verschiedene Variabeln oder machst es ganz anders.
Das ganz andere zeige ich dir gleich
 

basti1012

Senior HTML'ler
26 November 2017
1.272
128
63
39
Minden
sebastian1012.bplaced.net
Ich meine das so mit einen Ajax Script
Code:
<script>
window.onload = function () {
var links=['anderungen/Home/Inhalt1/text.txt','anderungen/Home/Inhalt2/text.txt','anderungen/Home/Inhalt3/text.txt','anderungen/Home/Inhalt4/text.txt'];

  var ids=['text1','text2','text3','text4'];

  for(h=0; h < links.length; h++){    
        let div=document.getElementById(ids[h]);
        let xhr = new XMLHttpRequest ();
        xhr.onreadystatechange = function () {
             if (this.readyState === 4 && this.status === 200) {
                let response = this.responseText;
                div.innerHTML+=response;
                div.style.color='black';
             }else{
                div.innerHTML='Error beim Laden';
             }
        }
        xhr.open("GET", links[h]);
        xhr.send();
   }
}
</script>
Kann man zwar auch noch besser machen,aber sollte dir zeigen wie ich das meine .
Außerdem sollten jetzt so auch alle geladen und angezeigt werden.
So könnte man auch 100 Seiten laden und man muss nur den Link und id dazu geben
 

Ofi123

Neues Mitglied
3 Dezember 2019
20
0
1
Traiskirchen
Ich meine das so mit einen Ajax Script
Code:
<script>
window.onload = function () {
var links=['anderungen/Home/Inhalt1/text.txt','anderungen/Home/Inhalt2/text.txt','anderungen/Home/Inhalt3/text.txt','anderungen/Home/Inhalt4/text.txt'];

  var ids=['text1','text2','text3','text4'];

  for(h=0; h < links.length; h++){  
        let div=document.getElementById(ids[h]);
        let xhr = new XMLHttpRequest ();
        xhr.onreadystatechange = function () {
             if (this.readyState === 4 && this.status === 200) {
                let response = this.responseText;
                div.innerHTML+=response;
                div.style.color='black';
             }else{
                div.innerHTML='Error beim Laden';
             }
        }
        xhr.open("GET", links[h]);
        xhr.send();
   }
}
</script>
Kann man zwar auch noch besser machen,aber sollte dir zeigen wie ich das meine .
Außerdem sollten jetzt so auch alle geladen und angezeigt werden.
So könnte man auch 100 Seiten laden und man muss nur den Link und id dazu geben
Danke, funktioniert jetzt. Habe Error beim laden einfach rausgelöscht.
 

basti1012

Senior HTML'ler
26 November 2017
1.272
128
63
39
Minden
sebastian1012.bplaced.net
Werbung: