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) );
In Node.js, you'll need to import fetch
using:
const fetch = require("node-fetch");
If you want to use it synchronously (doesn't work in top scope):
const json = await fetch(url) .then(response => response.json()) .catch((e) => {});
More Info:
The simple way to use XMLHttpRequest
with pure JavaScript
. You can set custom header
but it's optional used based on requirement.
1. Using POST Method:
window.onload = function(){ var request = new XMLHttpRequest(); var params = "UID=CORS&name=CORS"; request.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }; request.open('POST', 'https://www.example.com/api/createUser', true); request.setRequestHeader('api-key', 'your-api-key'); request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); request.send(params);}
You can send params using POST method.
2. Using GET Method:
Please run below example and will get an JSON response.
window.onload = function(){ var request = new XMLHttpRequest(); request.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }; request.open('GET', 'https://jsonplaceholder.typicode.com/users/1'); request.send();}