Герт пытается сказать, что вы должны добавить прослушиватель событий к объекту xhr
, а не xhr.upload
.Я не совсем уверен, почему и спецификация не совсем ясна.Это не имеет ничего общего с асинхронными запросами, которые в любом случае являются значениями по умолчанию.
Вместо:
xhr.upload.addEventListener('load', function(e){ alert(xhr.responseText); }, false);
Вы должны сделать:
xhr.addEventListener('load', function(e){ alert(xhr.responseText); }, false);