Perché la if che usavi prima non ha senso.
Lo stato della richiesta diventa 4 quando il server ha spedito la risposta. Eseguendo la if subito dopo la open, è pressoché certo che la risposta non sia ancora arrivata, quindi il tuo codice non faceva nulla di ciò che era incluso nella if.