0% found this document useful (0 votes)
10 views

8_AJAX

AJAX, which stands for Asynchronous JavaScript and XML, is a technique for exchanging data with a server and updating parts of a web page without reloading the entire page. It utilizes the XMLHttpRequest object along with JavaScript, CSS, and XML to facilitate asynchronous communication. The document outlines the workings of AJAX, including methods for sending requests, handling responses, and the importance of using GET or POST requests based on the situation.

Uploaded by

anupkumarlal58
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

8_AJAX

AJAX, which stands for Asynchronous JavaScript and XML, is a technique for exchanging data with a server and updating parts of a web page without reloading the entire page. It utilizes the XMLHttpRequest object along with JavaScript, CSS, and XML to facilitate asynchronous communication. The document outlines the workings of AJAX, including methods for sending requests, handling responses, and the importance of using GET or POST requests based on the situation.

Uploaded by

anupkumarlal58
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

AJAX

Dr. Alekha Kumar Mishra


introduction
● AJAX stands for Asynchronous JavaScript and
XML.
● AJAX is not a new programming language, but
a new way to use existing standards.
● AJAX is the art of exchanging data with a
server, and updating parts of a web page -
without reloading the whole page.

Dr. Alekha Kumar Mishra


AJAX
● AJAX is based on internet standards, and uses a
combination of:
● XMLHttpRequest object (to exchange data
asynchronously with a server)
● JavaScript/DOM (to display/interact with the
information)
● CSS (to style the data)
● XML (often used as the format for transferring data)

Dr. Alekha Kumar Mishra


How ajax work

Dr. Alekha Kumar Mishra


<!DOCTYPE html>
<html> <head>
<script>
function loadXMLDoc() {
Example
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>


<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

Dr. Alekha Kumar Mishra


The XMLHttpRequest object
● The XMLHttpRequest object is used to
exchange data with a server behind the
scenes.It is possible to update parts of a web
page, without reloading the whole page.
– variable=new XMLHttpRequest();
● Old versions of Internet Explorer (IE5 and IE6)
uses an ActiveX Object:
– variable=new
ActiveXObject("Microsoft.XMLHTTP");

Dr. Alekha Kumar Mishra


Send Request to Server
● The open() and send() methods of the XMLHttpRequest object
are used to send a request to a server
– xmlhttp.open("GET","ajax_info.txt",true);
– xmlhttp.send();
● open(method,url,async) specifies the type of request, the URL,
and if the request should be handled asynchronously or not.
– method: the type of request: GET or POST
– url: the location of the file on the server
– async: true (asynchronous) or false (synchronous)
● send(string): Sends the request off to the server.
● string: Only used for POST requests

Dr. Alekha Kumar Mishra


GET or POST?
● GET is simpler and faster than POST, and can be
used in most cases.
● However, always use POST requests when:
– A cached file is not an option (update a file or database
on the server)
– Sending a large amount of data to the server (POST
has no size limitations)
– Sending user input (which can contain unknown
characters), POST is more robust and secure than GET

Dr. Alekha Kumar Mishra


Example :add a unique ID to the
URL:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true);
xmlhttp.send();
}
</script>
</head>
<body>
</html>
9

Dr. Alekha Kumar Mishra


The url - A file on a server
● Sending asynchronous requests is a huge improvement for
web developers.
● Many of the tasks performed on the server are very time
consuming.
● Before AJAX, this operation could cause the application to
hang or stop.
● With AJAX, the JavaScript does not have to wait for the
server response, but can instead:
– execute other scripts while waiting for server response
– deal with the response when the response ready
● When using async=true, specify a function to execute when
the response is ready in the onreadystatechange event:
10

Dr. Alekha Kumar Mishra


Ajax server response
● To get the response from a server, use the
responseText or responseXML property of the
XMLHttpRequest object.
● responseText : get the response data as a string
● responseXML : get the response data as XML
data
● The responseText Property
– If the response from the server is not XML, use the
responseText property.
– The responseText property returns the response as a
string, and you can use it according 11

Dr. Alekha Kumar Mishra


<!DOCTYPE html>
<html> <head>
<script>
function loadXMLDoc() {
var xmlhttp; example
var txt,x,i;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, etc.
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++) {
txt=txt + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("myDiv").innerHTML=txt;
}
}
xmlhttp.open("GET","cd_catalog.xml",true);
xmlhttp.send();
}
</script>
</head> <body>
<h2>My CD Collection:</h2>
<div id="myDiv"></div>
12
<button type="button" onclick="loadXMLDoc()">Get my CD collection</button>
</body></html>
Dr. Alekha Kumar Mishra
The onreadystatechange event

When a request to a server is sent, we want to perform some actions based on the
response.

The onreadystatechange event is triggered every time the readyState changes.

The readyState property holds the status of the XMLHttpRequest.

Three important properties of the XMLHttpRequest object:

onreadystatechange Stores a function (or the name of a function) to be called
automatically each time the readyState property changes

readyState Holds the status of the XMLHttpRequest. Changes from 0 to 4:
– 0: request not initialized
– 1: server connection established
– 2: request received
– 3: processing request
– 4: request finished and response is ready

status 200: "OK" ,404: Page not found

In the onreadystatechange event, we specify what will happen when the server response
is ready to be processed.

When readyState is 4 and status is 200, the response is ready:
13

Dr. Alekha Kumar Mishra


Callback function
● A callback function is a function passed as a
parameter to another function.
● If you have more than one AJAX task on your
website, you should create ONE standard
function for creating the XMLHttpRequest
object, and call this for each AJAX task.
● The function call should contain the URL and
what to do on onreadystatechange (which is
probably different for each call):

14

Dr. Alekha Kumar Mishra


Call back example
function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}

15

Dr. Alekha Kumar Mishra


16

Dr. Alekha Kumar Mishra

You might also like