Dopo aver letto e studiato ciò che il buon andr3a ha pubblicato a proposito di Ajax, mi sono imbattuto in uno strano comportamento di Internet Explorer:
Antefatto:
Sito su IIS , in ASP, DB Oracle.
Uso Ajax per riempire una combo box a fronte dell'onchange su un'altra combo box.
Fino a ieri tutto andava bene, tranne un leggero ritardo di IE (imputabile al caricamento dell'ActiveX)
Il sito era in prova, senza security (intranet)
Ora ho attivato la security (login utente del dominio)
Ovviamente ho dovuto attivare la checkbox "Abilita KEEP-ALIVE HTTP" nelle proprietà del server IIS.
Tutto OK con Firefox
Con IE invece la chiamata Ajax funziona, ma ci mette 20 (dico venti!) secondi!
Ho tracciato gli stati Ajax con un alert:
Stato 1, 2, 3 ..... 20 secondi ... stato 4
Per far funzionare il tutto come prima ho dovuto cambiare una riga della funzione Ajax di andr3a da così:
codice:
// rimozione dell'header "connection" come "keep alive"
ajax.setRequestHeader("connection", "close");
a così:
codice:
// rimozione dell'header "connection" come "keep alive"
ajax.setRequestHeader("connection", "keep alive");
io mi chiedo:
PERCHE'?
Grazie fin d'ora
Zappa