SlideShare a Scribd company logo
AJAX
AN INTRODUCTION




                  Page 1
AGENDA
•   WHAT IS AJAX?
•   HISTORY
•   GOOGLE SUGGEST
•   SIMPLE PROCESSING
•   COMPONENTS
       •   XHTML,CSS
       •   DOM
       •   XML
       •   HTTP REQUEST OBJECT
       •   JAVA SCRIPT
• PROCESS CYCLE
• AJAX ADVANTAGES AND DISADVANTAGES
• EXAMPLE


                                      Page 2
BACK THEN…




Click
Search




              Page 3
AND YOU GET THIS …




                     Page 4
THESE DAYS..




               Page 5
THE MAGIC SPELL BEHIND THIS IS

             AJAX
(Asynchronous JavaScript and XML)



                              Page 6
SO WHAT IS AJAX ???
 A programming language – no…
 A new technology – not exactly…
 So what else ?


   It is a methodology on using several web technologies
   together, in an effort to close the gap between the usability
   and interactivity of a desktop application and the ever
   demanding web application




                                                               Page 7
 Asynchronous Javascript and XML is a client side
  techniques that combines a set of known technologies in
  order to create faster and more user friendly web pages.
 AJAX provides an ability to communicate with the server
  asynchronously.


                    ASYNCHRONOUS???
     We can send a request to server and continue user
     interaction with the user with out waiting for server
     response. Once the response arrives, a designated area
     in UI will update itself and reflect the response
     information. Whole page need not be reloaded


                                                              Page 8
HISTORY OF AJAX
 Starts with web pages

 Static web pages
    Static html page is loaded
    No interaction with user

 Dynamic web pages
    Html page is generated dynamically
    Interaction with user
    Becomes slower as functionality increases
    Speed becomes intolerable, so AJAX has been born

                                                    Page 9
 The term AJAX is coined on February 18, 2005, by Jesse
  James Garret in a short essay published a few days after
  Google released its Maps application.

 In the year 2006, the W3C (World Wide Web Consortium)
  announces the release of the first draft which made AJAX
  an official web standard.




                                                       Page 10
GOOGLE SUGGEST

Google Suggest is
using AJAX to create
a very dynamic web
interface: When you
start typing in
Google's search
box, a JavaScript
sends the letters off
to a server and the
server returns a list
of suggestions.


                                 Page 11
SİMPLE PROCESSİNG
• AJAX is based on Javascript, and the main functionality is
  to access the web server inside the Javascript code.




                            When user
                                                The received
  We access to the         initiates an
                                               information is
    server using       event, a javascript
                                             shown to the user
 special objects; we    function is called
                                              by means of the
   send data and          which accesses
                                                Javascript’s
   retrieve data.        server using the
                                                 functions.
                             objects.




                                                          Page 12
COMPONENTS OF AJAX
• Ajax incorporates several technologies, each flourishing in
  its own right, coming together in powerful new ways.

   –   standards-based presentation using XHTML, CSS
   –   dynamic display and interaction using DOM
   –   data interchange and manipulation using XML
   –   asynchronous data retrieval using XMLHttpRequest
   –   and JavaScript binding everything together.




                                                          Page 13
XHTML, CSS

• XHTML stands for EXtensible HyperText Markup
  Language
   – It consists of all the elements in HTML 4.01 combined
     with the syntax of XML

• CSS stands for Cascading Style Sheets
   – It is used to describe the presentation of a document
     written in HTML or XML.




                                                             Page 14
DOM
• Document Object Model for HTML
   DOM provides a standard set of objects for representing
    HTML and XML documents, and a standard interface
    for accessing and manipulating them.

   Essentially, it connects web pages to scripts or
    programming languages.

   It defines an HTML document as a collection of objects
    that have properties and methods and that can respond
    to events




                                                        Page 15
XML
• EXtensible Markup Language

   XML was designed to describe data and to focus on
    what data is (unlike HTML which was designed to
    display data and to focus on how data looks)

   It is a general-purpose markup language for creating
    special-purpose markup languages that carry data.




                                                           Page 16
XMLHttpRequest
                                        XmlHttp
 The kernel of Ajax
                                        Request
                                         Object

 The XMLHttpRequest object allows client-side JavaScript
  to make HTTP requests (both GET and POST) to the server
  without reloading pages in the browser.

 This JavaScript object was originally introduced in Internet
  Explorer 5 by Microsoft and it is the enabling technology
  that allows asynchronous requests



                                                          Page 17
XMLHttpRequest

• By performing screen updates on the client, you have a
  great amount of flexibility when it comes to creating your
  Web site :

    Eliminate page refreshes every time there is user input
    Edit data directly in place, without requiring the user
     to navigate to a new page to edit the data
    Increase site performance by reducing the amount of
     data downloaded from the server

• The possibilities are endless!


                                                          Page 18
JavaScript
 JavaScript is one of the world's most popular programming
  languages
    Its popularity is due entirely to its role as the scripting
     language of the WWW along with VBScript

 JavaScript has a syntax similar to Java but:
    It is not a real programming language (it is script)
    It was developed at Netscape and not Sun.
    It was originally called LiveScript




                                                            Page 19
JavaScript
• JavaScript binds all the mentioned technologies together to
  create the Ajax “pattern”.

When a user clicks a button, you can use JavaScript
and XHTML to immediately update the UI


     Spawn an asynchronous request to the server using the
     XMLHttpRequest object via JavaScript to perform
     an update or query a database.

          When the request returns as XML, you can then use
          JavaScript, CSS, DOM to update your UI
          accordingly without refreshing the entire page.

                Most importantly, users don't even know your code is
                communicating with the server: the Web site feels like
                it's instantly responding ("desktop-like" usability)
                                                                         Page 20
THE PROCESS CYCLE




                    Page 21
BENEFITS OF USING AJAX
• Helps to build fast, dynamic websites.
• Ajax allows to perform processing on client computer (in
  JavaScript) with data taken from the server thereby
  reducing server load by moving a part of server
  functionality to client side.
• Ajax can selectively modify a part of a page displayed by the
  browser, and update it without the need to reload the whole
  document with all images, menus etc. This bridges the gap
  between desktop and web applications.
• Saves bandwidth by only transmitting new information
• Creates possibility of entirely new types of user interfaces
  not possible in traditional model.


                                                          Page 22
AJAX DISADVANTAGES
 Poor compatibility with very old or obscure
  browsers, and many mobile devices.

 Limited Capabilities like multimedia, interaction with
  web-cams and printers, local data storage and real time
  graphics.

 Not everyone have JavaScript enabled. If JavaScript is
  not activated, Ajax can't works. The user must be asked
  to set JavaScript from within options of the
  browser, with the "noscript" tag.

 Too much code makes the browser slow.

                                                      Page 23
• The back button problem. People think that when they
  press back button, they will return to the last change they
  made, but in AJAX this doesn not hold.

• Possible network latency problems. People should be given
  feedback about the processing.

• Does not run on all browsers.




                                                           Page 24
XMLHTTPREQUEST OBJECT
Important Methods

     Open(“method”,”url”,boolean)

          to send a request to server
          method - GET or POST
          url       - address of the target file
          boolean - to denote whether the request is
         synchronous or asynchronous. If true, asynchronous.

     Send(content)

          to send data to server for processing
          content - may be string or DOM type of document.


                                                               Page 25
IMPORTANT PROPERTIES
 readystate
   - used to identify the state of the request. Possible values 0-4.
 onreadystatechange
   - event handler for an event that fires at every state change.
 status
   -Numeric code return by server.Eg.404,200
 responseText
   - the string data returned by the server process.
 responseXML
    - the DOM type of document returned by the server process.



                                                                 Page 26
CREATE XMLHTTPREQUEST OBJECT
  var request;
 if (window.ActiveXObject)
          {
          /*supperted in IE*/
                    request = new
          ActiveXObject("Microsoft.XMLHTTP");
          }
          else if (window.XMLHttpRequest)
          {
          /* supported in Safari and Mozilla*/
                    request = new XMLHttpRequest();
          }
          else
          {
                    request = null;
          }
                                                      Page 27
CREATE XMLHTTPREQUEST OBJECT
        request.open("GET", "message.html", true);
        request.onreadystatechange = function()
{
        if (request.readyState == 4)
        {
              if(request.status == 200)
              {
                    /*in the case of string data*/
        var str = request.responseText;
        document.getElementById(‘tag id’).innerHTML = str ;

                  /*in the case of XML document*/
                  var response = request.responseXML;
                  var doc = response.documentElement;
var data1 = doc.getElementByTagName(‘tagname’)[0].firstchild.nodeValue;
              }
         }
}
         request.send(null);
                                                                      Page 28
JAVASCRIPT LIBRARY


A JavaScript library is a library of pre-written JavaScript
which allows for easier development of JavaScript-based
applications, especially for AJAX.

Some popular javascript libraries are
jQuery, MooTools, Prototype, Dojo.

With the help of the javascript library functions dynamic
web page development will be easier.




                                                             Page 29
THANK YOU…




             Page 30

More Related Content

PPTX
Introduction to ajax
PPTX
World wide web architecture presentation
PPTX
Web browser architecture
PPTX
Ajax ppt - 32 slides
PPTX
Xml presentation
PPTX
Client side scripting and server side scripting
PPTX
Java script
PPTX
Introduction to Web Architecture
Introduction to ajax
World wide web architecture presentation
Web browser architecture
Ajax ppt - 32 slides
Xml presentation
Client side scripting and server side scripting
Java script
Introduction to Web Architecture

What's hot (20)

PPTX
Java Server Pages(jsp)
PPT
Introduction to Javascript
PPT
Oops concepts in php
PPT
PHP - Introduction to PHP AJAX
PDF
jQuery for beginners
PDF
Introduction to HTML5
PPT
Php with MYSQL Database
PPT
Introduction to Web Programming - first course
PPTX
Ajax presentation
PPTX
Lab #2: Introduction to Javascript
PPTX
Servlets
PPTX
HTTP request and response
PPTX
PPT
Asynchronous JavaScript & XML (AJAX)
PPT
Scripting languages
Java Server Pages(jsp)
Introduction to Javascript
Oops concepts in php
PHP - Introduction to PHP AJAX
jQuery for beginners
Introduction to HTML5
Php with MYSQL Database
Introduction to Web Programming - first course
Ajax presentation
Lab #2: Introduction to Javascript
Servlets
HTTP request and response
Asynchronous JavaScript & XML (AJAX)
Scripting languages
Ad

Viewers also liked (17)

PPTX
Ajax:From Desktop Applications towards Ajax Web Applications
PPTX
Deque and its applications
PPTX
Db for rdbms
PPTX
Object type casting
PPT
Ot ppt
PPTX
Inner Classes & Multi Threading in JAVA
PPTX
Ascii adjust & decimal adjust
PPTX
Parsing
PPTX
Comparison of pentium processor with 80386 and 80486
PPT
Advantages and disadvantages of an ajax based client application
PPTX
MultiMedia dbms
PPTX
8237 dma controller
PPT
Ajax Ppt
PPTX
Mobile dbms
PPTX
How to Draw an Effective ER diagram
PDF
Introduction to ajax
PPTX
Virtual base class
Ajax:From Desktop Applications towards Ajax Web Applications
Deque and its applications
Db for rdbms
Object type casting
Ot ppt
Inner Classes & Multi Threading in JAVA
Ascii adjust & decimal adjust
Parsing
Comparison of pentium processor with 80386 and 80486
Advantages and disadvantages of an ajax based client application
MultiMedia dbms
8237 dma controller
Ajax Ppt
Mobile dbms
How to Draw an Effective ER diagram
Introduction to ajax
Virtual base class
Ad

Similar to Ajax (20)

PDF
Ajax
PPT
PPTX
PDF
Introduction to AJAX
PPTX
Web-Engineering-Lec-14 (1 ).pptx
PPTX
Web-Engineering-Lec-14 (1) .pptx
PPTX
WEB TECHNOLOGY Unit-5.pptx
TXT
25250716 seminar-on-ajax text
PPT
Ajax introduction
PDF
Ajax basics
PPTX
Introduction about-ajax-framework
PPT
Using Ajax In Domino Web Applications
PPTX
AJAX.pptx
PPT
Web Programming using Asynchronous JavaX
PPT
PPT
PPT
Ajax
Introduction to AJAX
Web-Engineering-Lec-14 (1 ).pptx
Web-Engineering-Lec-14 (1) .pptx
WEB TECHNOLOGY Unit-5.pptx
25250716 seminar-on-ajax text
Ajax introduction
Ajax basics
Introduction about-ajax-framework
Using Ajax In Domino Web Applications
AJAX.pptx
Web Programming using Asynchronous JavaX

More from Tech_MX (20)

PPTX
Uid
PPTX
Theory of estimation
PPTX
Templates in C++
PPT
String & its application
PPTX
Statistical quality__control_2
PPTX
Stack data structure
PPT
Stack Data Structure & It's Application
PPTX
Spss
PPTX
Spanning trees & applications
PPTX
Set data structure 2
PPTX
Set data structure
PPTX
Real time Operating System
PPTX
Mouse interrupts (Assembly Language & C)
PPT
Motherboard of a pc
PPTX
More on Lex
PPTX
Merging files (Data Structure)
PPTX
Memory dbms
PPTX
Linkers
PPTX
Linear regression
PPTX
Keyboard interrupt
Uid
Theory of estimation
Templates in C++
String & its application
Statistical quality__control_2
Stack data structure
Stack Data Structure & It's Application
Spss
Spanning trees & applications
Set data structure 2
Set data structure
Real time Operating System
Mouse interrupts (Assembly Language & C)
Motherboard of a pc
More on Lex
Merging files (Data Structure)
Memory dbms
Linkers
Linear regression
Keyboard interrupt

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
A Presentation on Artificial Intelligence
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Understanding_Digital_Forensics_Presentation.pptx
KodekX | Application Modernization Development
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The Rise and Fall of 3GPP – Time for a Sabbatical?
A Presentation on Artificial Intelligence
NewMind AI Weekly Chronicles - August'25 Week I
Advanced methodologies resolving dimensionality complications for autism neur...
“AI and Expert System Decision Support & Business Intelligence Systems”
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine learning based COVID-19 study performance prediction
Understanding_Digital_Forensics_Presentation.pptx

Ajax

  • 2. AGENDA • WHAT IS AJAX? • HISTORY • GOOGLE SUGGEST • SIMPLE PROCESSING • COMPONENTS • XHTML,CSS • DOM • XML • HTTP REQUEST OBJECT • JAVA SCRIPT • PROCESS CYCLE • AJAX ADVANTAGES AND DISADVANTAGES • EXAMPLE Page 2
  • 4. AND YOU GET THIS … Page 4
  • 5. THESE DAYS.. Page 5
  • 6. THE MAGIC SPELL BEHIND THIS IS AJAX (Asynchronous JavaScript and XML) Page 6
  • 7. SO WHAT IS AJAX ???  A programming language – no…  A new technology – not exactly…  So what else ? It is a methodology on using several web technologies together, in an effort to close the gap between the usability and interactivity of a desktop application and the ever demanding web application Page 7
  • 8.  Asynchronous Javascript and XML is a client side techniques that combines a set of known technologies in order to create faster and more user friendly web pages.  AJAX provides an ability to communicate with the server asynchronously. ASYNCHRONOUS??? We can send a request to server and continue user interaction with the user with out waiting for server response. Once the response arrives, a designated area in UI will update itself and reflect the response information. Whole page need not be reloaded Page 8
  • 9. HISTORY OF AJAX  Starts with web pages  Static web pages  Static html page is loaded  No interaction with user  Dynamic web pages  Html page is generated dynamically  Interaction with user  Becomes slower as functionality increases  Speed becomes intolerable, so AJAX has been born Page 9
  • 10.  The term AJAX is coined on February 18, 2005, by Jesse James Garret in a short essay published a few days after Google released its Maps application.  In the year 2006, the W3C (World Wide Web Consortium) announces the release of the first draft which made AJAX an official web standard. Page 10
  • 11. GOOGLE SUGGEST Google Suggest is using AJAX to create a very dynamic web interface: When you start typing in Google's search box, a JavaScript sends the letters off to a server and the server returns a list of suggestions. Page 11
  • 12. SİMPLE PROCESSİNG • AJAX is based on Javascript, and the main functionality is to access the web server inside the Javascript code. When user The received We access to the initiates an information is server using event, a javascript shown to the user special objects; we function is called by means of the send data and which accesses Javascript’s retrieve data. server using the functions. objects. Page 12
  • 13. COMPONENTS OF AJAX • Ajax incorporates several technologies, each flourishing in its own right, coming together in powerful new ways. – standards-based presentation using XHTML, CSS – dynamic display and interaction using DOM – data interchange and manipulation using XML – asynchronous data retrieval using XMLHttpRequest – and JavaScript binding everything together. Page 13
  • 14. XHTML, CSS • XHTML stands for EXtensible HyperText Markup Language – It consists of all the elements in HTML 4.01 combined with the syntax of XML • CSS stands for Cascading Style Sheets – It is used to describe the presentation of a document written in HTML or XML. Page 14
  • 15. DOM • Document Object Model for HTML  DOM provides a standard set of objects for representing HTML and XML documents, and a standard interface for accessing and manipulating them.  Essentially, it connects web pages to scripts or programming languages.  It defines an HTML document as a collection of objects that have properties and methods and that can respond to events Page 15
  • 16. XML • EXtensible Markup Language  XML was designed to describe data and to focus on what data is (unlike HTML which was designed to display data and to focus on how data looks)  It is a general-purpose markup language for creating special-purpose markup languages that carry data. Page 16
  • 17. XMLHttpRequest XmlHttp  The kernel of Ajax Request Object  The XMLHttpRequest object allows client-side JavaScript to make HTTP requests (both GET and POST) to the server without reloading pages in the browser.  This JavaScript object was originally introduced in Internet Explorer 5 by Microsoft and it is the enabling technology that allows asynchronous requests Page 17
  • 18. XMLHttpRequest • By performing screen updates on the client, you have a great amount of flexibility when it comes to creating your Web site :  Eliminate page refreshes every time there is user input  Edit data directly in place, without requiring the user to navigate to a new page to edit the data  Increase site performance by reducing the amount of data downloaded from the server • The possibilities are endless! Page 18
  • 19. JavaScript  JavaScript is one of the world's most popular programming languages  Its popularity is due entirely to its role as the scripting language of the WWW along with VBScript  JavaScript has a syntax similar to Java but:  It is not a real programming language (it is script)  It was developed at Netscape and not Sun.  It was originally called LiveScript Page 19
  • 20. JavaScript • JavaScript binds all the mentioned technologies together to create the Ajax “pattern”. When a user clicks a button, you can use JavaScript and XHTML to immediately update the UI Spawn an asynchronous request to the server using the XMLHttpRequest object via JavaScript to perform an update or query a database. When the request returns as XML, you can then use JavaScript, CSS, DOM to update your UI accordingly without refreshing the entire page. Most importantly, users don't even know your code is communicating with the server: the Web site feels like it's instantly responding ("desktop-like" usability) Page 20
  • 21. THE PROCESS CYCLE Page 21
  • 22. BENEFITS OF USING AJAX • Helps to build fast, dynamic websites. • Ajax allows to perform processing on client computer (in JavaScript) with data taken from the server thereby reducing server load by moving a part of server functionality to client side. • Ajax can selectively modify a part of a page displayed by the browser, and update it without the need to reload the whole document with all images, menus etc. This bridges the gap between desktop and web applications. • Saves bandwidth by only transmitting new information • Creates possibility of entirely new types of user interfaces not possible in traditional model. Page 22
  • 23. AJAX DISADVANTAGES  Poor compatibility with very old or obscure browsers, and many mobile devices.  Limited Capabilities like multimedia, interaction with web-cams and printers, local data storage and real time graphics.  Not everyone have JavaScript enabled. If JavaScript is not activated, Ajax can't works. The user must be asked to set JavaScript from within options of the browser, with the "noscript" tag.  Too much code makes the browser slow. Page 23
  • 24. • The back button problem. People think that when they press back button, they will return to the last change they made, but in AJAX this doesn not hold. • Possible network latency problems. People should be given feedback about the processing. • Does not run on all browsers. Page 24
  • 25. XMLHTTPREQUEST OBJECT Important Methods Open(“method”,”url”,boolean)  to send a request to server  method - GET or POST  url - address of the target file  boolean - to denote whether the request is synchronous or asynchronous. If true, asynchronous. Send(content)  to send data to server for processing  content - may be string or DOM type of document. Page 25
  • 26. IMPORTANT PROPERTIES  readystate - used to identify the state of the request. Possible values 0-4.  onreadystatechange - event handler for an event that fires at every state change.  status -Numeric code return by server.Eg.404,200  responseText - the string data returned by the server process.  responseXML - the DOM type of document returned by the server process. Page 26
  • 27. CREATE XMLHTTPREQUEST OBJECT var request; if (window.ActiveXObject) { /*supperted in IE*/ request = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { /* supported in Safari and Mozilla*/ request = new XMLHttpRequest(); } else { request = null; } Page 27
  • 28. CREATE XMLHTTPREQUEST OBJECT request.open("GET", "message.html", true); request.onreadystatechange = function() { if (request.readyState == 4) { if(request.status == 200) { /*in the case of string data*/ var str = request.responseText; document.getElementById(‘tag id’).innerHTML = str ; /*in the case of XML document*/ var response = request.responseXML; var doc = response.documentElement; var data1 = doc.getElementByTagName(‘tagname’)[0].firstchild.nodeValue; } } } request.send(null); Page 28
  • 29. JAVASCRIPT LIBRARY A JavaScript library is a library of pre-written JavaScript which allows for easier development of JavaScript-based applications, especially for AJAX. Some popular javascript libraries are jQuery, MooTools, Prototype, Dojo. With the help of the javascript library functions dynamic web page development will be easier. Page 29
  • 30. THANK YOU… Page 30