cache in ajax

  • Creatore Discussione Creatore Discussione Kelly
  • Data di inizio Data di inizio

Kelly

Utente Attivo
5 Set 2008
112
1
18
Sto provando un sito su ipad nel quale utilizzo ajax....e riscontro dei problemi perchè mi ripropone dei dati in memoria, in effetti ho letto in giro su internet che ci sono problemi del genere e a tal proposito ho trovato questa soluzione:


$.ajaxSetup({
type: 'POST',
headers: { "cache-control": "no-cache" }
});

funziona a vostro avviso?
Dove dovrei inserire tale funzione?
 
Ultima modifica:
potresti provare anche così
PHP:
$.ajax ({   
	type: "POST",
	url: "xyz.php?ts=" + (new Date().getTime())%100000
	data:
 
Marino.....

Metto questa funzione nella pagina in qualsiasi punto?
e funziona con safari?
perchè il problema è con il post vero?


o prima del send? non ho ben capito...

xmlhttp3.onreadystatechange = stateChanged3;
xmlhttp3.open("POST", "stampa_ord.php?", true);
xmlhttp3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp3.send(url);
 
Ultima modifica:
ti basta aggiungere il "time" come parametro di url, non importa se usi POST o GET,
il server vede il time come un parametro cambiato quindi inoltra la richiesta senza prelevare il risultato dalla cache

quindi va accodato a "stampa_ord.php"
PHP:
xmlhttp3.open("POST", "stampa_ord.php?", true);

ma poi aggiungi la var "url", come mai ? è diversa da "stampa_ord.php" ?
ovvero nella variabile "url" dovrebbero esserci i parametri da passare
PHP:
xmlhttp3.send(url);
 
Ultima modifica:
Grazie Marino
allora per differenziare mi basta mettere il time.....perfetto provo e speriamo....

in url ci sono i parametri....

Codice:
	      xmlhttp3 = GetXmlHttpObject();
               if (xmlhttp1 == null)
               {
                 alert("Browser does not support HTTP Request");
                 return;
               }  
	
    var url = "pcodclien=" + codcli +"&pcoddest=" + coddest + "&ptipoquery=0";

		    
xmlhttp3.onreadystatechange = stateChanged3;
xmlhttp3.open("POST", "stampa_ord.php?", true);
xmlhttp3.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp3.send(url);

ti basta aggiungere il "time" come parametro di url, non importa se usi POST o GET,
il server vede il time come un parametro cambiato quindi inoltra la richiesta senza prelevare il risultato dalla cache

quindi va accodato a "stampa_ord.php"
PHP:
xmlhttp3.open("POST", "stampa_ord.php?", true);

ma poi aggiungi la var "url", come mai ? è diversa da "stampa_ord.php" ?
PHP:
xmlhttp3.send(url);
 
si avevo capito...già fatto...

grazie a te sono uscita da un incubo.

mille grazie
 

Discussioni simili