AJAX (prototipo / php) ottiene aggiornamenti di stato parziali durante l'esecuzione dello script

StackOverflow https://stackoverflow.com/questions/800997

Domanda

Ho un processo che voglio eseguire sullo sfondo di una pagina. Il processo richiederà un po 'di tempo, diciamo qualche minuto.

L'ho impostato in modo tale che dalla pagina posso fare clic su un pulsante per avviare il processo, attendere un po 'e poi finirà e posso avere l'aggiornamento della pagina che mi informa che il processo è stato eseguito correttamente. Lo sto facendo con prototipo e php.

Quello che voglio fare è avere aggiornamenti di stato mentre il processo è in esecuzione. Quindi potrebbe aggiornare una pagina facendomi sapere quanti record sono stati elaborati finora o aggiornare una barra di stato o qualcosa del genere.

È possibile? Non sono un grande guru di JS e posso fare le funzionalità di base che ho già descritto, ma mi chiedevo se fosse possibile estenderlo per fare questo piccolo extra in quanto non ho avuto fortuna a cercare su Google docs.

È stato utile?

Soluzione

Con solo PHP finirai per fare polling. Dovrai generare il tuo processo di lunga durata in background e, ad esempio, scrivere su un database di file quali sono i suoi progressi.

Il browser può quindi chiamare uno script php diverso ogni x secondi, che riporta con questo stato.

Il polling fa schifo però, ma questo è ciò con cui sei bloccato, con PHP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top