Udfør AJAX når siden er indlæst

Tags:    jquery ajax php

Hej
Som sidste led i at færdiggøre en brugbar version af mit lille CMS-projekt, ønsker jeg at bygge en lille installationsguide, ligesom man ser i Drupal, Wordpress, Joomla mv., men jeg er i tvivl om hvordan jeg håndterer AJAX der skal køres på bestemte sider når alt er indlæst, altså på document ready.

Jeg har i bl.a. Drupal lagt mærke til at den automatisk kører en række AJAX kald når man installerer en ny side, således at man kan følge med i hvilket modul der bliver installeret lige nu. Det er en funktionalitet jeg rigtig godt kunne tænke mig at implementere, men kan ikke lige finde ud af hvordan jeg skal tilrette min eksisterende JavaScript-kode (bruger jQuery) for at kun at køre disse kald på sider hvor det er påkrævet.

Når jeg normalt udfører et AJAX-kald gør jeg følgende:
Fold kodeboks ind/udJScript kode 


Men hvordan håndterer jeg AJAX-kald når min side er indlæst og uden at brugeren skal gøre noget?



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hvis du bare skal køre et AJAX-kald uden at brugeren skal klikke på f.eks. en submit knap, kan du gøre det på følgende måde:

Fold kodeboks ind/udJScript kode 


Her går jeg ud fra at du får returneret noget JSON encoded data fra den PHP fil som du kalder med AJAX, hvis det ikke er tilfældet kan du jo bare fjerne den del af det lille script jeg skrev. En evt. PHP fil kunne se således ud for at returnere data der kan læses:

Fold kodeboks ind/udPHP kode 


Hvis ikke det var dette du ledte efter så sig endelig til, jeg forstod det som at udføre et AJAX-kald uden at brugeren skal gøre noget, hvilket dette script gør!

Her er lidt mere AJAX dokumentation: http://api.jquery.com/jquery.ajax/



Indlæg senest redigeret d. 09.09.2014 03:07 af Bruger #8884
Hej Andreas
Lige præcis det jeg ledte efter, hvilket jo også er det min egen kode gør.
Den kode du har skrevet vil som udgangspunkt også virke, men det jeg helt konkret leder efter er hvordan jeg kun kører AJAX-kaldet når der er behov for at det køres.
Lige nu vil den på hver visning af en side køre en AJAX kald og returnere data uanset om jeg har behov for det eller ej.

Ville den nemme måde være at jeg tilføjer en class attribut til mit html-element og så kører AJAX derefter hvis den pågældende class attribut er til stede?

EDIT: Fandt løsningen:
Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 09.09.2014 10:45 af Bruger #17072
t