Originariamente inviato da fiumicello
se la posizione dell'evento onreadystatechange è indifferente vuol dire che è perennemente attivo (mi sembra) e quindi può entrare in conflitto con un altro richiamo fatto in un altro punto del documento.
Non è vero..
Ogni volta che devi fare una richiesta asincrona istanzi un oggetto xmlHttpRequest separato.
Ipotizzando di avere la classica funzione per richiamare l'oggetto:
Codice PHP:
var ajaxObject = {
callXMLhttp: function () {
// classico codice cross-browser
//restituisco l'istanza all'oggetto ajax
return request;
}
}
ogni volta che richiamo un l'oggetto lo assegno ad una variabile diversa:
Codice PHP:
// una richiesta per i contenuti
var oHttpContentReq = ajaxObject.callXMLhttp();
oHttpContentReq.onreadystatechange = // tua callback
oHttpContentReq.send()
// una richiesta per i post
var oHttpPostsReq = ajaxObject.callXMLhttp();
oHttpPostsReq.onreadystatechange = // tua callback
in questo modo non hai problemi di conflitto tra le varie richieste