sull'esempio non mi esprimo (un pò dopo) ... sul codice di ALA presumo ci sia un errore.

Il readyState con valore 4 viene richiamato sempre e comunque una sola volta, è il 3 che può essere richiamato più volte durante il caricamento del contenuto, soprattutto se si carica un xml (node by node).

readyState 4 è infatto il valore assegnato ad interazione completata (scritto anche sulla mia guida ...)

La funzione di ALA replica il metodo POST ma non è necessario, l'oggetto avrà già il giusto header una volta definito "post" ed il content-type application/x-www-form-urlencoded.

Comunque la funzione ALA può andare bene, la booleana serve a niente ma se c'è non fa danno ela ridondanza del post non ne implica il malfunzionamento.


L'altro codice invece ... non lo comprendo
page_request.status==200 || window.location.href.indexOf("http")==-1

in pratica invece di considerare la corretta risposta da parte del server verifica il 200 o la presenza di http nella location che sarà sempre diversa da -1 o non sarà una pagina internet

avesse scritto
page_request.status==200 || false
sarebbe stata la stessa identica cosa ... indexOf("http") su una pagina https avrebbe dato comunque un valore diverso da -1

Sarebbe da telefonare all'autore e chiedergli cosa aveva in mente quando ha aggiunto quel controllo