19. januar 2009 - 22:04Der er
8 kommentarer og 1 løsning
Opdatere et div
Hej Jeg har et div. I dette div skriver jeg nogle linier. Som det er nu, ryger den nye linie ind nederst, men jeg vil meget gerne have denne øverst. Koden jeg bruger til at opdatere mit div med ser således ud:
(I)frames har ikke været del af markup-standarderne siden 99 - innerHTML har aldrig været del af nogen standard - og det tager i allerbedste fald serveren 4-5 gange så lang tid at udskrive HTML-formaterede data i forhold til, hvad det tager at formatere samme data i JSON eller XML.
Løsningen hedder Ajax. Da der i skræmmende grad skrives vrøvl om emnet i artikler og tutorials, kan det dog være overordentlig vanskeligt at lære på nettet, hvis man ikke i forvejen er rigtig stærk i bl.a. JavaScript og DOM :o|
Jeg har også tænkt på løsningen med ajax, men har INTET kunne finde om hvordan det egentligt fungerer, sådan praktisk. Kan finde ud af at man via ajax kan opdatere nogle objekter/tekster o.l. uden at "reloade" hele siden.
Men hvad kræver ajax af serveren? Og hvordan lærer jeg mere om det?
Som du sikkert kan regne ud er det bare til at opdatere teksterne i en simpel chat.
Har du tid/lyst til at prøve at forklare lidt nærmere hvad jeg skal bruge for at lave det? Har forstået at jeg skal bruge din wrapper, til at tjekke om xmlhttprequest'en kan bruges på ens browser, men forstår ikke helt hvordan jeg så kommer videre. Kan vidst godt finde ud af at sende data til server, og modtage dataen igen, men hvordan laver jeg det effektivt? Og hvordan får jeg smidt de modtagede linier over hinanden uden at hente alle linierne hver gang?
Det er en laaaaang historie! Ajax er ikke noget, du lige lærer på en uge. Desuden har jeg influenza med over 39 i feber, så det bliver et nej =)
Wrapperen undersøger godtnok en masse, men det skal du ikke tage dig af. Når den ligger øverst i dit dokument, opretter du altid et XMLHttpRequest objekt med samme syntaks i alle moderne browsere: var oHttp = new XMLHttpRequest();
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.