SlideShare uma empresa Scribd logo
1 de 19
 
AJAX: Ajax is a way of developing Web applications that combines: * XHTML and CSS standards based presentation * Interaction with the page through the DOM * Data interchange with XML and XSLT * Asynchronous data retrieval wit XMLHttpRequest * JavaScript to tie it all together
What is XMLHttpRequest (XHR)? XMLHttpRequest (XHR) is an API available in web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPS requests directly to a web server and load the server response data directly back into the script.The data might be received from the server as XML textor as plain text
ASYNCHRONOUS This is the key. In standard Web applications, the interaction between the customer and the server is  synchronous . This means that one has to happen after the other. If a customer clicks a link, the request is sent to the server, which then sends the results back. With Ajax, the JavaScript that is loaded when the page loads handles most of the basic tasks such as data validation and manipulation, as well as display rendering the Ajax engine handles without a trip to the server. At the same time that it is making display changes for the customer, it is sending data back and forth to the server. But the data transfer is not dependent upon actions of the customer.
How does it work?
Creating XMLHttpRequest Objects: Most of the modern browsers have the XMLHttpRequest support. However, in Internet Explorer browsers till IE7 XMLHttpRequest was offered only using ActiveX object. The later versions of Internet Explorer would support XMLHttpRequest. The following function would create an XMLHttpRequest Object in most of the Browsers function createXMLHttpRequest() { try { return new XMLHttpRequest(); } catch(e) {} try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {} alert("Sorry, the XMLHttpRequest is not supported"); return null; } var xhrObj = createXMLHttpRequest();
Request  SENDING REQUEST: To send a request to a server, we use the open() and send() methods of the XMLHttpRequest object: xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send(); GET Requests: xmlhttp.open("GET","demo_get.asp",true); xmlhttp.send(); POST Requests: xmlhttp.open("POST","demo_post.asp",true); xmlhttp.send();
Making a request: 1.  Get whatever data you need from the Web  form. 2. Build the URL to connect to. 3. Open a connection to the server. 4. Set up a function for the server to run when it's done. 5. Send the request.
SIMPLE EXAMPLE: Inorder to make a text box ,and getting values thereby sending request to the server ,we need to make a text box and make the javascript with the coding and also calling functions with in the server ,by return sending the values back to the webpage,the javascript is as follows:
STEP 1 :TEST <html> <head> <title>AJAX Hello World Test Page</title> <link rel=&quot;stylesheet&quot; href=&quot;http://www.EXAMPLE.com&quot; type=&quot;text/css&quot; title=&quot;default&quot; media=&quot;screen&quot;> <script type=&quot;text/javascript&quot; src=&quot;ajax.js&quot;></script> </head> <body> <p> <input id=&quot;testmsg&quot; type=&quot;text&quot; value=&quot;Hello AJAX&quot;> <button onclick=&quot;talktoServer()&quot;>Say Hello to Server</button> <div id=&quot;msg_display&quot; style=&quot;{ background: yellow; font-weight: bold; }&quot;>  The data from the server will go here  ...</div> </body> </html>
STEP 2: POST function talktoServer(){ var req = newXMLHttpRequest(); //register the callback handler function var callbackHandler = getReadyStateHandler(req, updateMsgOnBrowser); req.onreadystatechange = callbackHandler; req.open(&quot;POST&quot;, &quot;servertime.php&quot;, true); req.setRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;); //get the value from the text input element and send it to server var testmsg = document.getElementById(&quot;testmsg&quot;); var msg_value = testmsg.value; req.send(&quot;msg=&quot;+msg_value); }
NOTE: If browser is mozilla or safari or opera Then it creates new  xmlhttprequest Otherwise it is Internet explorer Then it creates new  activexoject Else ,browser does not support  xmlhttprequest
Step 3: response from server // This is the callback functions that gets called // for the response from the server with the XML data var lastPing = 0; function updateMsgOnBrowser(testXML) { var test = testXML.getElementsByTagName(&quot;test&quot;)[0]; var message = testXML.getElementsByTagName(&quot;message&quot;)[0]; var ip = testXML.getElementsByTagName(&quot;ip&quot;)[0]; var timestamp = test.getAttribute(&quot;timestamp&quot;); if (timestamp > lastPing) { astPing = timestamp; var ip_value = ip.firstChild.nodeValue; var message_value = message.firstChild.nodeValue; var msg_display = document.getElementById(&quot;msg_display&quot;); msg_display.innerHTML = &quot; Server got the  message: amp;quot;&quot; +  message_value + &quot;amp;quot;&quot; + &quot;<br>Server IP: &quot;+ ip_value +  &quot; Server Timestamp: amp;quot;&quot;+ timestamp + &quot;amp;quot;&quot; ; } }
For callback functions //the following two functions are helper infrastructure to  //craete a XMLHTTPRequest and register a listner callback function function newXMLHttpRequest() { var xmlreq = false; if (window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); } else if (window.ActiveXObject) { // Try ActiveX try {  xmlreq = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); } catch (e1) {  // first method failed  try { xmlreq = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); } catch (e2) {   // both methods failed  } }}return xmlreq;}
function getReadyStateHandler(req, responseXmlHandler) { return function () { if (req.readyState == 4) { if (req.status == 200) { responseXmlHandler(req.responseXML); } else { var hellomsg = document.getElementById(&quot;hellomsg&quot;); hellomsg.innerHTML = &quot;ERROR: &quot;+ req.status; } } } }
<? header('Content-Type: application/xml'); $msg = htmlentities(trim(stripslashes($_REQUEST['msg']))); $ts = time(); $ip = gethostbyname(&quot;example.com&quot;);  print (&quot;<?xml version=amp;quot;1.0amp;quot;?>&quot;); print (&quot;<test timestamp=amp;quot;$tsamp;quot;>&quot;); print (&quot;<ip>$ip</ip>&quot;); print (&quot;<message>$msg</message>&quot;); print (&quot;</test>&quot;); ?> Thus the data request sent from the webpage to server and after certain schematic conditions,the data is back on the [as said asynchronous] it displayed without affecting the process Step 4:Data back to the weboage
RESPONSE HANDLING: There are two types of response *response text and response xml *many other forms like json,html etc[ these may come under one of the those two categories]
USAGE IN BLOGS: 1.We need to check whether the client can actually handle this or we need to import one [just the same of creating xml request] 2.we can link in the database as we needed ,example lets take calender,it need to be updated from a site and then that particular data need to be used in here. AJAX  is combination of two AJAX =DOM +XMLhttprequest
DRAWBACKS: 1.AJAX are mainly suitable for thier dynamic pages,so its harder to develop them in static web pages 2.Dynamically created pages will not go on with the brower's page ,so when the user click on the back button,they might not go to the previous page but to a very first page 3.Dynamic webpages will make bookmarking difficult for the uers 4.Many web crawlers will not allow java script,so inorder to prevent it,alternate method must be induced in order to index them using the search engines 5.AJAX powered webpages generate lot of user requests ,taking longer access rate in server to respong the user

Mais conteúdo relacionado

Mais procurados (19)

ajax_pdf
ajax_pdfajax_pdf
ajax_pdf
 
Ajax Ppt
Ajax PptAjax Ppt
Ajax Ppt
 
AJAX
AJAXAJAX
AJAX
 
Web II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET WorksWeb II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET Works
 
jQuery Ajax
jQuery AjaxjQuery Ajax
jQuery Ajax
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax and PHP
Ajax and PHPAjax and PHP
Ajax and PHP
 
1 ppt-ajax with-j_query
1 ppt-ajax with-j_query1 ppt-ajax with-j_query
1 ppt-ajax with-j_query
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajax
 
Copy of ajax tutorial
Copy of ajax tutorialCopy of ajax tutorial
Copy of ajax tutorial
 
Ajax Presentation
Ajax PresentationAjax Presentation
Ajax Presentation
 
Ajax Introduction Presentation
Ajax   Introduction   PresentationAjax   Introduction   Presentation
Ajax Introduction Presentation
 
RicoAjaxEngine
RicoAjaxEngineRicoAjaxEngine
RicoAjaxEngine
 
Ajax
AjaxAjax
Ajax
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
Ajax
AjaxAjax
Ajax
 
Vb.Net Web Forms
Vb.Net  Web FormsVb.Net  Web Forms
Vb.Net Web Forms
 

Semelhante a Ajax (20)

Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
 
ajax_pdf
ajax_pdfajax_pdf
ajax_pdf
 
Ajax
AjaxAjax
Ajax
 
AJAX
AJAXAJAX
AJAX
 
M Ramya
M RamyaM Ramya
M Ramya
 
Ajax
AjaxAjax
Ajax
 
Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)Asynchronous JavaScript & XML (AJAX)
Asynchronous JavaScript & XML (AJAX)
 
Ajax Introduction
Ajax IntroductionAjax Introduction
Ajax Introduction
 
Ajax
AjaxAjax
Ajax
 
Unit-5.pptx
Unit-5.pptxUnit-5.pptx
Unit-5.pptx
 
AJAX
AJAXAJAX
AJAX
 
AJAX
AJAXAJAX
AJAX
 
Core Java tutorial at Unit Nexus
Core Java tutorial at Unit NexusCore Java tutorial at Unit Nexus
Core Java tutorial at Unit Nexus
 
AJAX Workshop Notes
AJAX Workshop NotesAJAX Workshop Notes
AJAX Workshop Notes
 
AJAX.pptx
AJAX.pptxAJAX.pptx
AJAX.pptx
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax tutorial by bally chohan
Ajax tutorial by bally chohanAjax tutorial by bally chohan
Ajax tutorial by bally chohan
 

Mais de Rathan Raj (9)

Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Photochemical smog
Photochemical smogPhotochemical smog
Photochemical smog
 
Web20
Web20Web20
Web20
 
Apache
ApacheApache
Apache
 
Css
CssCss
Css
 
Html
HtmlHtml
Html
 
Linux
LinuxLinux
Linux
 
Mysql
MysqlMysql
Mysql
 
Php
PhpPhp
Php
 

Último

psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 

Último (20)

psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 

Ajax

  • 1.  
  • 2. AJAX: Ajax is a way of developing Web applications that combines: * XHTML and CSS standards based presentation * Interaction with the page through the DOM * Data interchange with XML and XSLT * Asynchronous data retrieval wit XMLHttpRequest * JavaScript to tie it all together
  • 3. What is XMLHttpRequest (XHR)? XMLHttpRequest (XHR) is an API available in web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPS requests directly to a web server and load the server response data directly back into the script.The data might be received from the server as XML textor as plain text
  • 4. ASYNCHRONOUS This is the key. In standard Web applications, the interaction between the customer and the server is synchronous . This means that one has to happen after the other. If a customer clicks a link, the request is sent to the server, which then sends the results back. With Ajax, the JavaScript that is loaded when the page loads handles most of the basic tasks such as data validation and manipulation, as well as display rendering the Ajax engine handles without a trip to the server. At the same time that it is making display changes for the customer, it is sending data back and forth to the server. But the data transfer is not dependent upon actions of the customer.
  • 5. How does it work?
  • 6. Creating XMLHttpRequest Objects: Most of the modern browsers have the XMLHttpRequest support. However, in Internet Explorer browsers till IE7 XMLHttpRequest was offered only using ActiveX object. The later versions of Internet Explorer would support XMLHttpRequest. The following function would create an XMLHttpRequest Object in most of the Browsers function createXMLHttpRequest() { try { return new XMLHttpRequest(); } catch(e) {} try { return new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); } catch (e) {} alert(&quot;Sorry, the XMLHttpRequest is not supported&quot;); return null; } var xhrObj = createXMLHttpRequest();
  • 7. Request SENDING REQUEST: To send a request to a server, we use the open() and send() methods of the XMLHttpRequest object: xmlhttp.open(&quot;GET&quot;,&quot;ajax_info.txt&quot;,true); xmlhttp.send(); GET Requests: xmlhttp.open(&quot;GET&quot;,&quot;demo_get.asp&quot;,true); xmlhttp.send(); POST Requests: xmlhttp.open(&quot;POST&quot;,&quot;demo_post.asp&quot;,true); xmlhttp.send();
  • 8. Making a request: 1. Get whatever data you need from the Web form. 2. Build the URL to connect to. 3. Open a connection to the server. 4. Set up a function for the server to run when it's done. 5. Send the request.
  • 9. SIMPLE EXAMPLE: Inorder to make a text box ,and getting values thereby sending request to the server ,we need to make a text box and make the javascript with the coding and also calling functions with in the server ,by return sending the values back to the webpage,the javascript is as follows:
  • 10. STEP 1 :TEST <html> <head> <title>AJAX Hello World Test Page</title> <link rel=&quot;stylesheet&quot; href=&quot;http://www.EXAMPLE.com&quot; type=&quot;text/css&quot; title=&quot;default&quot; media=&quot;screen&quot;> <script type=&quot;text/javascript&quot; src=&quot;ajax.js&quot;></script> </head> <body> <p> <input id=&quot;testmsg&quot; type=&quot;text&quot; value=&quot;Hello AJAX&quot;> <button onclick=&quot;talktoServer()&quot;>Say Hello to Server</button> <div id=&quot;msg_display&quot; style=&quot;{ background: yellow; font-weight: bold; }&quot;> The data from the server will go here ...</div> </body> </html>
  • 11. STEP 2: POST function talktoServer(){ var req = newXMLHttpRequest(); //register the callback handler function var callbackHandler = getReadyStateHandler(req, updateMsgOnBrowser); req.onreadystatechange = callbackHandler; req.open(&quot;POST&quot;, &quot;servertime.php&quot;, true); req.setRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;); //get the value from the text input element and send it to server var testmsg = document.getElementById(&quot;testmsg&quot;); var msg_value = testmsg.value; req.send(&quot;msg=&quot;+msg_value); }
  • 12. NOTE: If browser is mozilla or safari or opera Then it creates new xmlhttprequest Otherwise it is Internet explorer Then it creates new activexoject Else ,browser does not support xmlhttprequest
  • 13. Step 3: response from server // This is the callback functions that gets called // for the response from the server with the XML data var lastPing = 0; function updateMsgOnBrowser(testXML) { var test = testXML.getElementsByTagName(&quot;test&quot;)[0]; var message = testXML.getElementsByTagName(&quot;message&quot;)[0]; var ip = testXML.getElementsByTagName(&quot;ip&quot;)[0]; var timestamp = test.getAttribute(&quot;timestamp&quot;); if (timestamp > lastPing) { astPing = timestamp; var ip_value = ip.firstChild.nodeValue; var message_value = message.firstChild.nodeValue; var msg_display = document.getElementById(&quot;msg_display&quot;); msg_display.innerHTML = &quot; Server got the message: amp;quot;&quot; + message_value + &quot;amp;quot;&quot; + &quot;<br>Server IP: &quot;+ ip_value + &quot; Server Timestamp: amp;quot;&quot;+ timestamp + &quot;amp;quot;&quot; ; } }
  • 14. For callback functions //the following two functions are helper infrastructure to //craete a XMLHTTPRequest and register a listner callback function function newXMLHttpRequest() { var xmlreq = false; if (window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); } else if (window.ActiveXObject) { // Try ActiveX try { xmlreq = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); } catch (e1) { // first method failed try { xmlreq = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); } catch (e2) { // both methods failed } }}return xmlreq;}
  • 15. function getReadyStateHandler(req, responseXmlHandler) { return function () { if (req.readyState == 4) { if (req.status == 200) { responseXmlHandler(req.responseXML); } else { var hellomsg = document.getElementById(&quot;hellomsg&quot;); hellomsg.innerHTML = &quot;ERROR: &quot;+ req.status; } } } }
  • 16. <? header('Content-Type: application/xml'); $msg = htmlentities(trim(stripslashes($_REQUEST['msg']))); $ts = time(); $ip = gethostbyname(&quot;example.com&quot;); print (&quot;<?xml version=amp;quot;1.0amp;quot;?>&quot;); print (&quot;<test timestamp=amp;quot;$tsamp;quot;>&quot;); print (&quot;<ip>$ip</ip>&quot;); print (&quot;<message>$msg</message>&quot;); print (&quot;</test>&quot;); ?> Thus the data request sent from the webpage to server and after certain schematic conditions,the data is back on the [as said asynchronous] it displayed without affecting the process Step 4:Data back to the weboage
  • 17. RESPONSE HANDLING: There are two types of response *response text and response xml *many other forms like json,html etc[ these may come under one of the those two categories]
  • 18. USAGE IN BLOGS: 1.We need to check whether the client can actually handle this or we need to import one [just the same of creating xml request] 2.we can link in the database as we needed ,example lets take calender,it need to be updated from a site and then that particular data need to be used in here. AJAX is combination of two AJAX =DOM +XMLhttprequest
  • 19. DRAWBACKS: 1.AJAX are mainly suitable for thier dynamic pages,so its harder to develop them in static web pages 2.Dynamically created pages will not go on with the brower's page ,so when the user click on the back button,they might not go to the previous page but to a very first page 3.Dynamic webpages will make bookmarking difficult for the uers 4.Many web crawlers will not allow java script,so inorder to prevent it,alternate method must be induced in order to index them using the search engines 5.AJAX powered webpages generate lot of user requests ,taking longer access rate in server to respong the user