Allora sto facendo un'applicazione in AJAX, questo è una delle funzioni Javascript che modificano la pagina:
codice:
function getWelcomeMsg(lang, i) {
var mozillaFlag = false;
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
XMLHttpRequestObject.overrideMimeType("text/xml");
mozillaFlag = true;
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new
ActiveXObject("Microsoft.XMLHTTP");
}
if (XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", "quest.php", true);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var xmlDocument = XMLHttpRequestObject.responseXML;
if(mozillaFlag) {
removeWhitespace(xmlDocument);
}
displayMsg(xmlDocument, lang, i);
}
}
XMLHttpRequestObject.send(null);
}
}
quest.php è un file PHP con il MIME type forzato a file xml, preleva delle info da un DB e le mostra come XML:
codice:
<date>
<citta>Faenza </citta>
<luogo>Piazza Italia</luogo>
<citta>Pisa</citta>
<luogo>Corso Garibaldi</luogo>
</date>
e il file PHP che crea questo output è una cosa del tipo:
Codice PHP:
<?
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
$server = "";
$user = "";
$pass = "";
$db_name = "";
$db = @mysql_connect($server, $user, $pass) or die ("Connessione non effettuata...");
mysql_select_db($db_name, $db) or die ("Errore nella selezione...");
$query = "SELECT citta, dove FROM events";
$exec = mysql_query($query) or die("Errore nella query!");
echo "<date>";
while($row = mysql_fetch_array($exec)) {
echo "<citta>".$row['citta']."</citta>";
echo "<luogo>".$row['dove']."</luogo>";
}
echo "</date>";
?>
.
Inoltre c'è una pagina HTML che scorre tra i risultati del file XML, sfruttando la chiamata asincrona JS.
Se in questa pagina HTML sto al primo record Faenza, clicco avanti e mi viene mostrato Pisa. E questa cosa è ottima, proprio il funzionamento che volevo Se però mentre sto visualizzando il primo record Faenza, nel DB modifico Pisa in Pisa2, quando clicco avanti nella pagina HTML il prossimo risultato è Pisa2, quindi ad ogni avanzamento il file XML viene ricreato, come posso fare per tenerlo in cache ed usare sempre quello???
Spero che non andava postato in Javascript