29. november 2011 - 17:29Der er
8 kommentarer og 1 løsning
jQuery ajax fejl
Hejsa.. Jeg benytter mig af flg script:
var xhr; function Ajax(afile,adiv,arun,loader) { // Loading info if(loader==null) { gi("loaderdiv").style.display='inline'; }
// Process Ajax var htm = afile.split('?'); var xhr = $.ajax({ type: "GET", url: htm[0], data: htm[1], cache: false, success: function(html){ gi("loaderdiv").style.display='none'; $(gi(adiv)).fadeIn(100); $('#'+adiv).html(html); } }); // Set global process ID window['xhr'] = xhr;
}
Det virker også fint, men desværre kan det i enkelte tilfælde ske at browseren bliver sendt til 'afile' istedet for at ajax henter 'afile' til den angivne div.
Er der nogen der ved hvordan dette løses ? Det er desværre meget svært at genskabe, da det sker i forholdsvis sjældne tilfælde
Det lyder sært. Der må nødvendigvis være noget fælles for de situationer, hvor det går galt, så det må være opgaven at finde ud af, hvad. Prøv evt. at uploade et eksempel
Jeg har testet lidt videre på det, og det ser ud til at det sker hvis man trykker på samme onclick event (link) mange gange i træk. På et tidspunkt wil den sende browseren til det link der burde hentes med Ajax.
Jeg ved ikke umiddelbart, hvad det er, der udløser fejlen - det ville kræve, jeg har adgang til din kode og en FF 5.
Prøv først at strippe din kode for alt, der behandler resultatet, så det kun er jQuery koden, som arbejder. Får du stadig fejlen, ved du så, at fejlen må ligge i et samspil mellem den pågældende browserversion og jQuery.
Er det tilfældet, må du undersøge arbejdsgangen gennem jQuery med en alert, til du finder stedet.
Så fik jeg løst problemet. Det var en særdeles hård nød at knække, men det lykkedes til sidst.
Hvis nogen skulle rende ind i det samme.
Da jeg kører scriptet på facebooks platform, har jeg facebook.php included samt deres auth script. I auth scriptet ligger en linje: <script type='text/javascript'>top.location.href = '$loginUrl';</script> Når ajax bliver hentet, kan denne linje i nogle tilfælde blive kaldt, og gør så at scriptet vil reloade browseren og sende den til den url ajax forsøger at hente. Jeg løste det ved at erstatte med Header("Location.. Måske ikke den helt rigtige metode, men det løste problemet.
Tak for hjælpen olebole
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.