Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    ajax sincrono, mi capita una cosa strana..

    Ciao, ho una funzione che fà una richiesta sincrona con ajax, il problema stà nel fatto che se provo a chiamare questa funzione + di una volta, la richiesta alla routine lato server non viene fatta, restituendomi nel responseXML il valore della richiesta precendente.. non riesco a capire qual'è il problema.. vi scrivo la funzione (moooolto semplice):
    codice:
    function RetrieveCategoriesByContentId(contentId)
    {
        var url = "/PaginaConCodiceServerSide/"+contentId;
        http.open("GET", url, false);
        http.send(null);
        var xmlDoc = http.responseXML.documentElement
        
        var arrCategoriesOfContent = new Array();
        var categories = xmlDoc.getElementsByTagName("anyType"); 
        
        
        for(c = 0; c < categories.length; c++)
        {        
           arrCategoriesOfContent.push(categories[c].text);
        }
           
        return arrCategoriesOfContent;
    }
    "http" è una variabile popolata con l'oggetto XMLHTTP recuperato dalla solita funzione che controlla quale oggetto recuperare in base al browser utilizzato.

    P.S. Ci tengo a precisare che la prima chiamata alla funzione "RetrieveCategoriesByContentId" funziona normalmente senza alcun errore ritornandomi i dati che voglio.. dalla seconda in poi il metodo send(null) non fà scattare la routine lato server (me ne accorgo anche da debug oltre che dalla risposta XML)
    Thanx
    Voglio l'alt+s anche per FF

  2. #2
    Ciao.
    Codice PHP:
     http.open("GET"urlfalse); 
    http è globale devi istanziarla dentro la funzione.

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

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da whisher
    Ciao.
    Codice PHP:
     http.open("GET"urlfalse); 
    http è globale devi istanziarla dentro la funzione.

    già fatto, ma niente.. troppo strano..
    Voglio l'alt+s anche per FF

  4. #4
    Avoiding browser cache

    lato server una cosa tipo questa

    Codice PHP:
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
     
    header('Cache-Control: no-store, no-cache, must-revalidate'); 
     
    header('Cache-Control: post-check=0, pre-check=0'FALSE); 
     
    header('Pragma: no-cache'); 

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

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da whisher
    Avoiding browser cache

    lato server una cosa tipo questa

    Codice PHP:
    header"Last-Modified: " gmdate"D, j M Y H:i:s" ) . " GMT" ); 
    header"Expires: " gmdate"D, j M Y H:i:s"time() ) . " GMT" ); 
    header"Cache-Control: no-store, no-cache, must-revalidate" ); // HTTP/1.1 
    header"Cache-Control: post-check=0, pre-check=0"FALSE ); 
    header"Pragma: no-cache" ); // HTTP/1. 

    stavo appunto per rispondere che avevo trovato la soluzione.. l'Expires non settato mi ritornava i dati cachati ..
    Grazie mille
    cmq riguardo alla variabile globale, che problemi potrebbe comprotare secondo te? non riesco a vedere un problema anche se uso la stessa variabile in tutte le funzioni.. del resto si tratta della reference ad un oggetto istanziato (una sola volta)..
    Voglio l'alt+s anche per FF

  6. #6
    [EDIT]
    Ho cambiato il codice


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

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da whisher
    [EDIT]
    Ho cambiato il codice


    vabbè tanto non uso php..
    Voglio l'alt+s anche per FF

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    solo un'aggiunta... tanto hai risolto, ma potevi anche passare una variabile casuale ad ogni chiamata, in questo modo la url era diversa e la cache non valeva.

    ciao

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da gianiaz
    solo un'aggiunta... tanto hai risolto, ma potevi anche passare una variabile casuale ad ogni chiamata, in questo modo la url era diversa e la cache non valeva.

    ciao
    bhè a livello architetturale (e morale secondo me) non è per niente una soluzione quella che mi proponi.. è una toppa
    conosci il pattern mvc? è quello che uso, modificare l'url nel mio caso consiste nell'eseguire un comando che il controller interpreta per modificare la view.
    Grazie lo stesso cmq
    Voglio l'alt+s anche per FF

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da dops
    bhè a livello architetturale (e morale secondo me) non è per niente una soluzione quella che mi proponi.. è una toppa
    conosci il pattern mvc? è quello che uso, modificare l'url nel mio caso consiste nell'eseguire un comando che il controller interpreta per modificare la view.
    Grazie lo stesso cmq
    Certo, la mia era una toppa, dipende dall'utilizzo, sicuramente è meglio gestire la cache come hai fatto tu :-)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.