Avatar billede EveryMA Mester
12. januar 2012 - 17:32 Der er 14 kommentarer og
1 løsning

Opdatere 1 part af siden

Hej,

Jeg søger et script i enten Ajax eller JavaScript som kan opdatere en lille part af min side.
Jeg mener også jeg har hørt noget om InnerHTML som kan klare det - men det derfor jeg opretter spørgsmålet.

Det skal være en ASP side hvor kun en del af det skal opdateres automatisk hvert 2 / 3. sekund. Det som opdateres så tit indeholder kald fra databasen hvorefter noget bliver kaldt ud på siden.
Avatar billede EveryMA Mester
12. januar 2012 - 17:41 #1
Har læst om man kan gøre det igennem Ajax og en Div, men har ikke kunne finde noget som virker.
Avatar billede olebole Juniormester
12. januar 2012 - 18:20 #2
<ole>

At bruge innerHTML er sjældent særlig hensigtsmæssigt. Dels kræver det, at man HTML-formaterer responsekoden på serveren - hvilket performer elendigt - og dels kræver det et ret forkromet overblik med hensyn til JavaScript og DOM at undgå problemer.

I stedet bør du XML- eller JSON-formatere data på serveren, inden de sendes tilbage til browseren. Her parses responsen - HTML elementer oprettes med DOM - data fyldes i elementerne - og elementerne indsættes i siden med DOM.

Desværre er det overordentlig vanskelligt at finde gode begyndertutorials om Ajax på nettet. Ufattelig mange, der ikke har forstået det første af Ajax, kan åbenbart ikke holde sig tilbage for at skrive om alt det, de ikke forstår  :o|

Jeg er selv i gang med at skrive nogle guides til Eksperten om emnet, men det er omfattende, og jeg er desværre blevet lidt forsinket  :o|

/mvh
</bole>
Avatar billede The_Buzz Novice
12. januar 2012 - 18:20 #3
Avatar billede EveryMA Mester
12. januar 2012 - 18:24 #4
The_buzz
Den forstår jeg ikke helt.

Hvor præcis fortæller de små stumper kode, at det skal opdatere hver 2 eller 3. sekund ? :)
Avatar billede olebole Juniormester
12. januar 2012 - 18:31 #5
@The_Buzz: Det er et fint eksempel på, hvad jeg skrev om komplet misforstået og ineffektiv Ajax-soup
Avatar billede The_Buzz Novice
12. januar 2012 - 18:33 #6
EveryMA har du spekuleret over alle de database kald der bliver lavet hvis 10.000 mennesker sidder med en side der laver kald hvert 3. sekund?
Avatar billede olebole Juniormester
12. januar 2012 - 18:42 #7
Ja, det er en høj opdateringsfrekvens - hvilket blot yderligere understreger vigtigheden af at bruge den bedst performende kode. At HTML-formatere data, inden de returneres, tager mange gange længere tid end at XML-/JSON-formatere samme data.

10.000 brugere, der får returneret HTML-formaterede data, svarer således i mange tilfælde til 1.000, der får de samme data formateret som XML eller JSON - alt efter kodestilen, man holder på serveren.
Avatar billede The_Buzz Novice
12. januar 2012 - 19:01 #8
Jeg har denne her i brug på www.lottostat.dk om lørdagen - for at undgå at folk sidder og reloader siden konstant.

Dette SIGES at skulle være til PHP, men eftersom at det er Jqery det hele (bortset fra file writing), så er det altså lige meget.
http://chrissilich.com/blog/make-your-own-live-data-feed-with-php-codeigniter-and-javascript-jquery/ da ASP jo også kan filewrite
Avatar billede The_Buzz Novice
12. januar 2012 - 19:06 #9
NB: Det den gør, er at sætte en cookie på brugerens computer.

Du sætter reload intervallet fra f.eks 5000ms til 3000ms

Så checker den om der er ændret timestamp på en fil - og hvis der er det, så loader den content fra en div - ellers gør den intet andet end at checke den fil.

Den fil vil du så have et andet script til at opdatere når der sker ændringer i databasen.
Avatar billede EveryMA Mester
13. januar 2012 - 15:53 #10
The_buzz

Jeg er ikke expert eller har erfaring med query, så jeg aner intet om det du linker til.......
Avatar billede EveryMA Mester
14. januar 2012 - 18:05 #11
Har forsøgt med mange forskellige ajax-scripts, men jeg kan ikke få det til at fungere.

Er der andre der har nogle inputs?
Avatar billede olebole Juniormester
14. januar 2012 - 20:14 #12
Hvad er det mere præcist, du ikke kan få til at fungere? At det ikke fungerer, kan skyldes alt muligt  =)
Avatar billede EveryMA Mester
14. januar 2012 - 23:32 #13
At jeg ikke kan finde ud af det, det er dér det fejler.
Jeg kender ikke meget til Ajax, og kan ikke få den til at KUN opdatere 1 part på siden :)
Avatar billede olebole Juniormester
15. januar 2012 - 14:45 #14
Det er ikke realistisk at lære dig Ajax i en ekspertentråd. Hvis du har specifikke problemer med teknikken, er det muligt at hjælpe, så det bliver overordentlig svært, hvis du er helt blank
Avatar billede EveryMA Mester
18. januar 2012 - 19:53 #15
Lære mig Ajax? :)
Jeg skrev aldrig jeg er kommet herind for at lære det.

Når man ikke kender så meget til det, så jo, så skal tingene nok skæres noget ud i pap, i forhold til hvis jeg vidste noget om det.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester