Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    [PHP] Ajax, IE e caching

    Ciao a tutti,

    di recente sto affrontando un progettino basato su AJAX e mentre con Firefox ed Opera non sono incorso in particolari problemi di caching nel richiamo dei contenuti, ho notato che con Internet Explorer (6 e 7) questo problema diventava abbastanza fastidioso.

    Facendo varie prove ho, per caso, notato che richiamando in PHP un semplice

    <?php
    session_start();
    ?>


    prima del contenuto effettivo dei file esterni (partendo da una index principale da cui richiamo tutto l'AJAX). il caching non si manifesta più nemmeno su IE.

    Posto il fatto che in se il problema l'ho risolto vorrei capire da chi ne sa più di me come mai questa cosa della sessione influisca sul meccanismo di caching di IE.

    Grazie mille.

  2. #2
    Ciao.
    Dico la mia
    Se sul server il session.use_trans_sid è settato ad on
    il SID viene incluso nel URL.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Uhm ... e questo perchè implicherebbe di non fare il caching della pagina su IE?

    Grazie.

  4. #4
    Il caching avviene solo nelle chiamate get. Usa una chiamata post oppure aggiungi ogni volta all'url una variabile random per quelle get.

  5. #5
    Uhm ... e questo perchè implicherebbe di non fare il caching della pagina su IE?
    Perchè quando richiami la request
    avrai request.php?SID e quindi su ie e su
    gli altri browser ottieni il bust della cache.


    Per la cronaca nello script che c'è in firma
    ho avuto dei problemi con le sessioni perchè
    mi saltava un controllo (se la text area era vuota)
    mettendoci appunto il SID ;(


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Originariamente inviato da Mega69_2
    Il caching avviene solo nelle chiamate get. Usa una chiamata post oppure aggiungi ogni volta all'url una variabile random per quelle get.
    Era la mia prima idea ma l'ho scartata per motivi di praticità.

    Cmq grazie.

  7. #7
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Originariamente inviato da whisher
    Perchè quando richiami la request
    avrai request.php?SID e quindi su ie e su
    gli altri browser ottieni il bust della cache.


    Per la cronaca nello script che c'è in firma
    ho avuto dei problemi con le sessioni perchè
    mi saltava un controllo (se la text area era vuota)
    mettendoci appunto il SID ;(


    Interessante, sapresti dirmi di più o darmi qualche riferimento da leggere su questo "bust" della cache?

    Tnx.

    P.S.
    Ma il layout del tuo sito non si ispira un pò troppo a zeldman.com?

  8. #8
    qui a metà dell' ottimo articolo è il primo che ho sotto mano adesso però is currently under maintenance.
    Please try again later

    Una cosa del genere:
    Codice PHP:
    function busturl ){
        return (
    url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
    }; 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Ma il layout del tuo sito non si ispira un pò troppo a zeldman.com?
    Cosa dici liberamente tratto
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Un remake direi

    Cmq perdonami ma non ho ancora capito questa cosa del busting della cache

    L'esempio che mi hai postato è una semplice funzione JS per appendere una variabile (sempre diversa) all'URL, ma sin qui avevo capito anch'io.

    Quello che volevo comprendere è perchè con il solo session_start() di PHP le pagine NON cachano più su IE.

    Ok si propaga il SID nell'URL? Ma il SID è sempre uguale (altrimenti non funzionerebbero le sessioni) ... quindi perchè cmq funziona come se ci fosse un URL (anzi URI) sempre diverso?

    Tnx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.