XMLHttpRequest.responseText should not throw even when not (loading or done). On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS readyState = 1 PASS readyState = 2 PASS readyState = 3 PASS readyState = 4 PASS successfullyParsed is true TEST COMPLETE