Question: How can I request data from the server without reloading the page in the browser?

Answer: JavaScript code loaded in the client browser can request additional data from the Web server using the

object. Try it now:

In this example, when you click the Send Request button, the browser requests additional data from the server (the file requested_file.htm), and then displays the returned data in a message box, by executing the following JavaScript code:

var oRequest = new XMLHttpRequest();
var sURL = "http://"
         + self.location.hostname
         + "/faq/requested_file.htm";


if (oRequest.status==200) alert(oRequest.responseText);
else alert("Error executing XMLHttpRequest call!");

In most modern browsers, the general syntax of the

method is as follows:
var oRequest = new XMLHttpRequest();
oRequest.open( method, URL, async )

The parameters

  method, URL, async 
have the following meaning:
Specifies the method to be used for the HTTP request. Can be one of the following:
"GET", "POST", "HEAD".
Specifies the URL to which the request will be sent when the
method is executed.
Boolean. If true, specifies that the HTTP request should be performed asynchronously, that is, without forcing the code execution to wait until the request's results are returned to the browser.

Note that the

method itself does not send the request to the Web server. It is the
method that actually sends the request.

Historical Note. In older browsers, e.g. in Microsoft Internet Explorer 6 or earlier, you might not be able to instantiate the

using the above simple syntax:
new XMLHttpRequest()
. Instead, depending on the actual client configuration, you'd have to use one of the following statements:
oRequest = new ActiveXObject("Msxml2.XMLHTTP");
oRequest = new ActiveXObject("Microsoft.XMLHTTP");

Copyright © 1996-2018, JavascriptFAQ.net.