jQuery - Script funktioniert in IE nicht, Firefox & Safari aber schon!

flaep

Grünschnabel
Hallo zusammen

Ich bin neu hier und hoffe, ihr könnt mir helfen. Ich habe ein jQuery-Script, welches alle 6 Sekunden eine Statusabfrage laufen lässt und entsprechend "reagiert". Nun, das Script funktioniert in Firefox/Safari problemlos. Doch der IE7/8 gibt mir einen Fehler aus.

Der Code:
Code:
$.post('/functions/ajax/ajax.bookedSeats.php', { date: eventDat }, function (data){ 
   arr = data.split(","); 
});

In einem nächsten Schritt rufe ich folgende Funktion auf:
Code:
jQuery.each(arr, function () { ...

Nun meldet der IE zu dieser Zeile: 'arr ist undefiniert'

Wenn ich in der jQuery-post()-Funktion die Variable "arr" anders definiere, nämlich "var arr", dann funktioniert das Script in Firefox/Safari nicht mehr.
Code:
$.post('/functions/ajax/ajax.bookedSeats.php', { date: eventDat }, function (data){ 
   var arr = data.split(","); 
});

Kann mir jemand sagen, wo das Problem liegt? Ich bin mit JS leider nicht so vertraut..

Danke & Gruss
Fläp
 
Ehrlich gesagt wundert es mich ein bischen das das überhaupt irgendwo funktioniert.
Anstatt einfach jQuery.each(arr, function () { ... auszuführen solltest du die callback Funktion von $.post verwenden um eine Funktion aufzurufen die mit den zurückgegeben Daten weiterarbeitet ( oder eben direkt in der callback Funktion weiterarbeiten).

Javascript:
$.post('/functions/ajax/ajax.bookedSeats.php', { date: eventDat }, function (data){ 
   var arr = data.split(","); 
   nextStep(arr);
});

function nextStep(arr){
    jQuery.each(arr, function () { ...
}
 
na wenn du mal nicht genial bist! Nun funktioniert alles einwandfrei und dazu wurden noch weitere Fehler behoben, welche ich noch erkannt hatte. Zudem läuft das Script etwa 1000 mal schneller! ;-)

Herzlichen Dank! Dieses Forum gefällt mir!
 

Neue Beiträge

Zurück