Markus B.: AJAX-Request abbrechen.

Beitrag lesen

Hallo,
vorweg ich bin was Ajax angeht noch relativ unerfahren. Habe erst eine Umsetzung im Einsatz.

Vorweg worum es geht:
Auf meiner Seite soll das Plugin von Wetter.de eingeblendet werden. Nur um Ladezeit der Seite zu reduzieren habe ich das Plugin als AJAX-Request gebaut, so dass es erst mit einer Verzögerung von 5 Sekunden geladen wird. Das geht auch so wie ich das wollte.

Wenn ich aber über mein php-Script - welches mir den Inhalt von wetter.de holt - keine Verbindung aufbauen kann lädt das Request schier endlos und das ist auch nicht das gelbe vom Ei. Also habe ich mir gedacht - im groben:

var loaded = false;

setTimeout('holeWetter()', 5000);
setTimeout('pruefeWetter()', 15000);

function holeWetter()
{
   // hier wird der AjaxRequest gemacht
   loaded = true;
}

pruefeWetter()
{
   if(!loaded)
   {}   // mache alternative Ausgabe
}

In holeWetter() setze ich die globale Variable loaded auf true die in pruefeWetter als Bedingung genutzt wird. Wenn die Variable wie default auf false ist, setze ich anstelle des Wetters einen Text "kann nicht geladen werden". Wird das Wetter geladen wird von der holeWetter()-Funktion die Variable auf true gesetzt und die pruefeWetter() tut nix mehr.

Soweit so gut, geht ebenfalls. Das ganze zu sehen unter http://www.spielmannszug-meschede.de für Neugierige.

Nun gehe ich aber mal davon aus, dass der Request trotz meiner Ausgabe weiter läuft und eben nichts bekommt - weder "geht nicht" noch einen erfolgreichen Inhalt. Wie kann ich, wenn das überhaupt geht, diesen Request abschießen? Gibt es da vielleicht eine Funktion die über ein Referenzobjekt den Request beendet?

Danke für die Hilfe.

Gruß