AJAX og PHP

Tags:    php

Er det muligt at lave en slaks loading script i takt med at et PHP script bliver afviklet?

Altså fx. hvis man har et artikelsystem så er der jo følgende moduler:
-Uploader billed
-Behandler billed
-Opretter artikel i database
-Opretter på forsiden
Der skulle så komme ligesom et flueben ud for hvert ting når det er gjort, og hvis der er et problem i scriptet så kommer der et kryds!?



10 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Nå, misforstod måske. Du mente hvis man kalder et PHP dokument i et AJAX kald?
Så skulle du dele de fire ting op i hver sin side, og når man så fik response fra server kunne du jo afvikle et js der satte flueben i en checkbox... :)





Hej Frederik,

Letteste mode, dog lidt hacky, er hvis du efter hvert skridt i scriptet laver en redirect til siden selv, og holder en session level variabel med en status over nuværende "load-level".

Med venlig hilsen
Ieet





Javascript afvikles så snart browseren læser den pågældende linje.
Derved kan man lave diverse loadingbars ved at lade serveren sende javascript kommandoer til browseren uden at serveren resulterer i timeout.

man kan derfor lave følgende opstilling
1. javascript: start
2. tidskrævende kode
3. javascript: tidskrævende kode slut
4. tidskrævende kode 2
5. javacsript: tidskrævende kode 2 slut

Loader man så scriptet i en usynlig iframe på siden, vil javascriptet være det eneste respons brugeren for ved afviklingen.

Metoden kaldes også Push eller COMET





Det kan du jo slet ikke nå! En PHP side bør afvikles på HØJST få sekunder. Bortset fra hvis du har virkelig mange querys eller rigtig dårlige querys..



Eeeeeller... :)

Fold kodeboks ind/udKode 

Og så loader man det i en iframe. Det er man nødt til da AJAX metoden ikke supportere file uploads.



Tak for svarene, er dog stadig ikke helt sikker!? :-)



Tak for svarene! Jeet ummidlbart virker din måde ret smart, men Michel gider du at forklare dit script lidt nærmere? :)



Okay tak michael.. Hvad skriver man så i javascript eller ajax hvis man vil have det til ligesom at lave et brake?

Altså:
-Loadbar
--Script
[venter til scriptet er færdigt]
-Loadbar
--Script
[venter til scriptet er færdigt]
-Loadbar
--Script
[venter til scriptet er færdigt]
..
Og hvorfor iframe?

Btw nogen fede sider du har :)



Nu hvor jeg har siddet lidt og kikket på det forstår jeg. Men lige 1 ting:

når man loader det i en iframe hvordan får man så javascript eller ajax til at udskrive en status på siden?



Det gør man ved at lade sit javascript i iframen kalde en metode fra toppen, som så ændrer DOMen.

Iframe:
Fold kodeboks ind/udKode 

Vinduet hvor iframe er repræsenteret:
Fold kodeboks ind/udKode 


Og tak for kommentaren om mine projekter. :)



Indlæg senest redigeret d. 24.10.2008 21:55 af Bruger #10216
t