Risolto, onestamente non so perchè, forse avevo fatto qualche errore quando facevo le prove dell'alert, perchè il codice come ho scritto sul forum funziona.Originariamente inviato da homezappa
Già .. i permessi ...
Sicuro che nel tuo IE7 tu abbia gli ActiveX abilitati o l'XMLHTTP abilitato?
Un test simpatico sarebbe: se hai un account GMail, guarda la tua posta! (è in AJAX spinto, l'interfaccia web di GMail!)
ciao
Zappa
Spiego l'errore tante volte potesse servire a qualcuno
Non mi funzionava la funzione ajax perchè per richiamare la funzione dopo il send del XMLHttpRequest nel caso dell'activeX lo facevo utilizzando onreadystatechange e nel caso dell'oggetto XMLHttpRequest utilizzavo onload e onerror che però con IE7 non funziona e bisogna aggiungere onreadystatechange.
Quindi ricapitolando
processPosChange è la funzione che richiama una volta che ha ricevuto i dati dal server.Codice PHP:
var pos;
function chiamata_ajax(url){
if (window.XMLHttpRequest) {
pos = new XMLHttpRequest();
pos.onreadystatechange = processPosChange; // per IE7
pos.onload = processPosChange;
pos.onerror = processPosChange;
pos.open("GET", url, false);
pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
pos.send();
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
pos = new ActiveXObject("Microsoft.XMLHTTP");
if (pos) {
pos.onreadystatechange = processPosChange;
pos.open("GET", url, false);
pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
pos.send();
}
}
}
La libreria che usavo l'avevo copiata da un sito e quindi non sapevo dove mettere le mani, ecco perchè m'ero incartato. anche perchè di js non è che sia così esperto.