Carissimi,
ho riscontrato un problema semplice quanto strano. In una pagina web della mia applicazione, un pulsante attiva una funzione Ajax che prendendo alcuni dati da una servlet Java (servlet che per fare ciò deve ricevere un parametro in input) deve semplicemente mostrarli in una finestra di alert.
Ecco il semplicissimo codice.
Pagina:
Funzione javascript richiamata:
codice:
function ajaxTest(dtx) {
myRequest = CreateXmlHttpReq(ajaxTest2);
myRequest.open("GET","ServletDataGet?key=" + dtx + "&_="+-new Date, true);
myRequest.send(null);
}
Che richiama a sua volta:
codice:
function ajaxTest2() {
if (myRequest.readyState == 4 && myRequest.status == 200) {
alert(myRequest.responseText);
}
}
Tutto qui. Ora, se l'argomento di ajaxTest è un testo statico come in questo caso, tutto funziona sia su Firefox che su Explorer. Se l'argomento è di tipo dinamico, ad esempio prendendo il valore di una casella situata sullo stesso form (sia con l'id che con il nome), su Firefox tutto funziona e vedo la semplice finestra di alert aprirsi correttamente, mentre su Explorer (versioni 5 ma anche 7 e 8) non accade nulla. Segno inequivocabile che dipende solo dal modo in cui, con IE, si passa ad Ajax un valore (se dipendesse da qualsiasi altro fattore, in IE passando testo statico non funzionerebbe).
Sembra incredibile nella sua semplicità, sono 4 giorni che ci sto dietro; provate anche voi. Cosa suggerite? Grazie a tutti