Can one replace xhr.onreadystatechange with xhr.onload for AJAX calls?

ajax, javascript, xmlhttprequest

Solution

maybe you take a look at this one and a look at W3C: XMLHttpRequest it's the same if your browser supports xhr.onload. Requires XMLHttpRequest 2)

You can also write a wrapping function that emulates xhr.onload if it's not present. (I think you need to override `XMLHttpRequest.prototype.onload = function(args){//calling onreadystatechanges somehow}`). If you only support modern browsers using xhr.onload should be available - the best solution is using a framework (like jquery or mootools that provides wrapping functionality for that.

Problem

I need to support major modern browsers only (IE10+, FF, Chrome, Safari) Can I make this substitution as I want to simplify my code base: From: ``` xhr.onreadystatechange = function () { if (this.readyState === 4) { if (this.status === 200) { o.callback(xhr.responseText); } else { return false; } } else { return false; } }; ``` To: ``` xhr.onload = function (test) { o.callback(xhr.responseText); }; ``` I don't feel that the MDN documentation is clear in this regard. Clarification: I choose not to use a framework.

Original source

Related problems