se chiami il file caption_js.php direttamente nel broswer vedi il javascript che ti aspetti?
poi secondo me dovresti mettere il session_start prima dell'header, (mi chiedo come mai non generi errori, ma magari non hai controllato il file caption_js da solo).
Innanzi tutto fai funzionare il javascript poi se mai preoccupati della cache (secondo me dovrebbe farne il caching in automatico, ma se questo non succede una volta sistemato il problema dell'alert vediamo se è il caso di mandare qualche header particolare per dire di mettere in cache il file).
ciao

Rispondi quotando