How to get the response of XMLHttpRequest? How to get the response of XMLHttpRequest? javascript javascript

How to get the response of XMLHttpRequest?


You can get it by XMLHttpRequest.responseText in XMLHttpRequest.onreadystatechange when XMLHttpRequest.readyState equals to XMLHttpRequest.DONE.

Here's an example (not compatible with IE6/7).

var xhr = new XMLHttpRequest();xhr.onreadystatechange = function() {    if (xhr.readyState == XMLHttpRequest.DONE) {        alert(xhr.responseText);    }}xhr.open('GET', 'http://example.com', true);xhr.send(null);

For better crossbrowser compatibility, not only with IE6/7, but also to cover some browser-specific memory leaks or bugs, and also for less verbosity with firing ajaxical requests, you could use jQuery.

$.get('http://example.com', function(responseText) {    alert(responseText);});

Note that you've to take the Same origin policy for JavaScript into account when not running at localhost. You may want to consider to create a proxy script at your domain.


I'd suggest looking into fetch. It is the ES5 equivalent and uses Promises. It is much more readable and easily customizable.

const url = "https://stackoverflow.com";fetch(url)    .then(        response => response.text() // .json(), etc.        // same as function(response) {return response.text();}    ).then(        html => console.log(html)    );