[Javascript/AJAX]Vaag IE probleem met requests

Pagina: 1
Acties:

  • Wizz15
  • Registratie: Januari 2004
  • Laatst online: 26-10-2022
Het probleem was dat mijn originele AJAX code geen requests die snel na elkaar kwamen kon verwerken. Dit script kan dat wel, alleen er is een vreemd probleem met het script in Internet Explorer.

Op het moment dat er een request naar de server gaat, door bijvoorbeeld op een link te klikken, gebeurt er in IE niets. Pas als je nogmaals op die link klikt (of op een andere link die ook een request stuurt) zie je pas resultaat van de eerste keer klikken. Ik krijg verder geen foutmelding, en in Firefox werkt ie zelfs helemaal zoals 't zou moeten.


Weet iemand wat er aan de hand kan zijn? Het lijkt alsof IE langzamer is met het uitvoeren, of dat IE steeds 1 klik achterloopt als het ware.

Er staat een voorbeeld live op: http://www.rikbruil.com/ajax/

De Javascript broncode kun je hier bereiken: http://www.rikbruil.com/ajax/multi_ajax.js

PSN: RikBruil | BFBC2 stats


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 14-04 16:14
De pagina kan niet worden weergegeven.
Wacht je wel met een wegschrijven van het resultaat tot de readystate aangeeft dat dit kan?
Klinkt mij alsof je het resultaat al uitleest op het moment dat deze er nog niet inzit

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

offtopic:
Sinds wanneer is dat wat jij doet ajax :? Ik zie nergens XML ;)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Erkens schreef op donderdag 05 januari 2006 @ 14:12:
offtopic:
Sinds wanneer is dat wat jij doet ajax :? Ik zie nergens XML ;)
offtopic:
kunnen we die discussie aub achterwege laten. Ajax is gewoon een slecht gekozen naam (dat krijg je als non-technici namen voor tenchnologieën gaan verzinnen) en dekt as such de lading niet. Het is echter al dusdanig ingeburgerd dat een andere naam kiezen gewoonweg geen zin meer heeft. Wellicht moeten we gewoon niet meer nadenken over waar de letters voor staan, maar gewoon denken aan de techniek die ermee beschreven wordt...

[ Voor 3% gewijzigd door crisp op 05-01-2006 14:22 ]

Intentionally left blank


  • Wizz15
  • Registratie: Januari 2004
  • Laatst online: 26-10-2022
frickY schreef op donderdag 05 januari 2006 @ 14:09:
[...]


Wacht je wel met een wegschrijven van het resultaat tot de readystate aangeeft dat dit kan?
Klinkt mij alsof je het resultaat al uitleest op het moment dat deze er nog niet inzit
Ik heb een array met alle requests en voor elke request check ik of de readystate 4 is, daarna check ik of ik status 200 terugkrijg (pagina is geladen) en pas daarna lees ik het resultaat uit.
Erkens schreef op donderdag 05 januari 2006 @ 14:12:
offtopic:
Sinds wanneer is dat wat jij doet ajax :? Ik zie nergens XML ;)
Ik haal idd platte tekst op, maar het geheel werkt in principe hetzelfde als met xml

Edit: crisp was me voor ;)

[ Voor 8% gewijzigd door Wizz15 op 05-01-2006 14:27 ]

PSN: RikBruil | BFBC2 stats


  • Wizz15
  • Registratie: Januari 2004
  • Laatst online: 26-10-2022
Ik begin trouwens te vermoeden dat IE idd achterloopt met het verwerken van requests. Ik zie nu ook dat hij de laatste div niet laadt, pas als je op een link klikt komt die laatste div er ook bij.

Zou dit kunnen kloppen?

PSN: RikBruil | BFBC2 stats


  • Sappie
  • Registratie: September 2000
  • Laatst online: 18-04 09:00

Sappie

De Parasitaire Capaciteit!

Het heeft te maken met vage caching in IE als ik me niet vergis. Probeer onderstaande eens toe te voegen aan je ajaxGet functie, na de http_request.open regel:
code:
1
http_request.setRequestHeader("If-Modified-Since", "Wed, 15 Nov 1995 04:58:08 GMT");


edit: meer erover (en alternatieve oplossingen): http://en.wikipedia.org/w...net_Explorer_Cache_issues

[ Voor 30% gewijzigd door Sappie op 05-01-2006 15:01 ]

Specs | Audioscrobbler


  • Wizz15
  • Registratie: Januari 2004
  • Laatst online: 26-10-2022
Thnx hij werkt nu :)

Ik had tijdens het bouwen al eens eerder een probleem en toen dacht ik dat het aan caching lag. Toen had ik ook al zoiets ingebouwd, ik had het er alleen jammer genoeg weer uitgehaald toen ik merkte dat dat niet het probleem was :P

[ Voor 113% gewijzigd door Wizz15 op 05-01-2006 15:08 ]

PSN: RikBruil | BFBC2 stats


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Als je serverside gewoon no-cache headers meestuurt (de variant die IE ook snapt :P) dan hoef je clientside helemaal niet te frutten met headers ;)

Intentionally left blank


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19-04 12:29
Sowieso is een random variable er achter plakken, bijvoorbeeld een timestamp, wel handig om de caching geheel om zeep te helpen.

Verwijderd

crisp schreef op donderdag 05 januari 2006 @ 14:21:
offtopic:
kunnen we die discussie aub achterwege laten. Ajax is gewoon een slecht gekozen naam (dat krijg je als non-technici namen voor tenchnologieën gaan verzinnen) en dekt as such de lading niet. Het is echter al dusdanig ingeburgerd dat een andere naam kiezen gewoonweg geen zin meer heeft. Wellicht moeten we gewoon niet meer nadenken over waar de letters voor staan, maar gewoon denken aan de techniek die ermee beschreven wordt...
offtopic:
Daarom is er nu ahah ;)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

offtopic:
En als ik zo'n request nou synchronous doe (wat natuurlijk ook kan)? Wordt het dan SHAH? En als ik geen HTML ophaal maar plain text? of een JSON string? Dikke onzin al die benamingen...

Intentionally left blank

Pagina: 1