Newsgroup: it.comp.lang.javascript
Titolo: [ajax] cancellare memoria

Ho un problema:
Ieri notte per la prima volta ho messo mani ad un Ajax che non fosse una
squadra di calcio e neanche un detersivo.
Con il codice qui allegato faccio una richiesta ad una pagina ma,
all'elaborazione seguente, anche se ho cambiato il codice da eseguire...
il risultato visualizzato è sempre il primo.
Esempio:
<A href="javascript:sndReq('1')">voce1</A>
<A href="javascript:sndReq('2')">voce2</A>
<div id=foo></div>
se clicco su voce1 mi dà un risultato: "pippo"
Se cambio il codice nella pagina alla quale viene inviata la richiesta...
non cambia nulla. Mi fa vedere sempre "pippo"
Come faccio a cancellare il valore in memoria.
Premetto che questo problema accade con IE7 mentre con FF va tutto bene.
Grazie
<script>
function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}
var http = createRequestObject();
function sndReq(action) {
	http.open('get', 'rpc.php?action='+action);
	http.onreadystatechange = handleResponse;
	http.send(null);
}
function handleResponse() {
	if(http.readyState == 4){
		var response = http.responseText;
		var update = new Array();
		if(response.indexOf('|' != -1)) {
			update = response.split('|');
			document.getElementById(update[0]).innerHTML = update[1];
		}
	}
}
</script>
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 	}
non so dove hai trovato questa dichiarazione, ma è uno schifo ... non si
usa più da tempo distinguere il browser in questo modo; inoltre IE7 ha ora
l'oggetto XMLHttpRequest => devi interrogare il browser per capire cosa può
fare, non chi è...
In rete troverai un fantastiliardo di esempi su come creare l'oggetto;
comunque sia, prima verifichi se supporta xmlhttp, del tipo
 if(window.XMLHttpRequest)
  return new XMLHttpRequest;
altrimenti testi se supporta l'oggetto ActiveX, del tipo
 if(window.ActiveXObject) ...
Inoltre quanto sopra si inchioderà con IE5 per Mac...
Un esempio lo trovi qua (ma è datato, con IE7 devi invertire le 2 verifiche
come ho detto sopra):
 
http://www.criosoftware.it/default36.aspx
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

  if(window.ActiveXObject) ...
Eh, già, mi sa' che allora devi un po' riaggiornare la pagina :)

 Grazie
E` una questione di cache, dato che fai una richiesta in GET. Ne ho
parlato giusto ieri, due post prima del tuo ("Ajax - Consigli").
Dacci un occhio, se e` la prima volta che ti affacci a queste cose,
penso tu possa trovarci qualcosa di utile.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

 Eh, già, mi sa' che allora devi un po' riaggiornare la pagina :)
Glielo dissi anche io all'epoca, ma e` un po' pigro su queste cose. :P
No, seriamente, soprattutto adesso ha diverse cose da fare quindi e` 
comprensibile che questo genere di faccende abbiano una priorita` un
po' bassa. :)


 po' bassa. :)
Sì, ma in più quando ho trovato 1 oretta di tempo ho aperto il progetto
(era originariamente in .net 1.0), lo ho convertito in 2.0 e TATAAAAAAA ...
non me lo compila più. Non riesco a capire il perché (oddio, da allora non
ci ho più studiato sopra), ma qualunque modifica faccio al progetto risulta
non più compilabile con errori incapibili (se non tocco nulla invece
compila correttamente). Devo quindi trovare un po' più di 1 oretta libera
per metterci mano.
-- 
"Capivamo di essere tanti
 capivamo di essere forti,
 il problema era solamente
 come farlo capire ai morti."
									    C.L.

 penso tu possa trovarci qualcosa di utile.
-----------
Grazie 1.000
ho risolto grazie al tuo consiglio.
ciao a tutti


 E` una questione di cache
--------
Risolto questo problema... ne pongo un altro:
la pagina1, a seguito di un clic, fa una richiesta alla pagina2. Questa
restituisce un testo.
Durante questa attesa (anche se minima) posso inserire un'immagine tipo
ajax-loader.gif ???
Se SI'... in quale pagina? Nella 1 o nella 2?
Grazie


 Grazie
Prego
