SlideShare une entreprise Scribd logo
1  sur  30
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

Contenu connexe

Tendances

JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events WebStackAcademy
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajaxNir Elbaz
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajaxPihu Goel
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentationengcs2008
 
What is Ajax technology?
What is Ajax technology?What is Ajax technology?
What is Ajax technology?JavaTpoint.Com
 
Introduction to JavaScript (1).ppt
Introduction to JavaScript (1).pptIntroduction to JavaScript (1).ppt
Introduction to JavaScript (1).pptMuhammadRehan856177
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation Salman Memon
 
Html5 tutorial for beginners
Html5 tutorial for beginnersHtml5 tutorial for beginners
Html5 tutorial for beginnersSingsys Pte Ltd
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate pptAneega
 
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...Edureka!
 

Tendances (20)

JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajax
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
 
PHP Presentation
PHP PresentationPHP Presentation
PHP Presentation
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Ajax Presentation
Ajax PresentationAjax Presentation
Ajax Presentation
 
What is Ajax technology?
What is Ajax technology?What is Ajax technology?
What is Ajax technology?
 
Introduction to JavaScript (1).ppt
Introduction to JavaScript (1).pptIntroduction to JavaScript (1).ppt
Introduction to JavaScript (1).ppt
 
Java script
Java scriptJava script
Java script
 
Java Script ppt
Java Script pptJava Script ppt
Java Script ppt
 
Flexbox
FlexboxFlexbox
Flexbox
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation
 
Html5 tutorial for beginners
Html5 tutorial for beginnersHtml5 tutorial for beginners
Html5 tutorial for beginners
 
Javascript validating form
Javascript validating formJavascript validating form
Javascript validating form
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
JavaScript Tutorial For Beginners | JavaScript Training | JavaScript Programm...
 
Restful web services ppt
Restful web services pptRestful web services ppt
Restful web services ppt
 

En vedette

Ajax:From Desktop Applications towards Ajax Web Applications
Ajax:From Desktop Applications towards Ajax Web ApplicationsAjax:From Desktop Applications towards Ajax Web Applications
Ajax:From Desktop Applications towards Ajax Web ApplicationsSiva Kumar
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applicationsTech_MX
 
Db for rdbms
Db for rdbmsDb for rdbms
Db for rdbmsTech_MX
 
Object type casting
Object type castingObject type casting
Object type castingTech_MX
 
Inner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVAInner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVATech_MX
 
Ascii adjust & decimal adjust
Ascii adjust & decimal adjustAscii adjust & decimal adjust
Ascii adjust & decimal adjustTech_MX
 
Comparison of pentium processor with 80386 and 80486
Comparison of pentium processor with  80386 and 80486Comparison of pentium processor with  80386 and 80486
Comparison of pentium processor with 80386 and 80486Tech_MX
 
Advantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationAdvantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationPlacinta Alin
 
MultiMedia dbms
MultiMedia dbmsMultiMedia dbms
MultiMedia dbmsTech_MX
 
8237 dma controller
8237 dma controller8237 dma controller
8237 dma controllerTech_MX
 
Mobile dbms
Mobile dbmsMobile dbms
Mobile dbmsTech_MX
 
How to Draw an Effective ER diagram
How to Draw an Effective ER diagramHow to Draw an Effective ER diagram
How to Draw an Effective ER diagramTech_MX
 
Virtual base class
Virtual base classVirtual base class
Virtual base classTech_MX
 

En vedette (16)

Ajax:From Desktop Applications towards Ajax Web Applications
Ajax:From Desktop Applications towards Ajax Web ApplicationsAjax:From Desktop Applications towards Ajax Web Applications
Ajax:From Desktop Applications towards Ajax Web Applications
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applications
 
Db for rdbms
Db for rdbmsDb for rdbms
Db for rdbms
 
Object type casting
Object type castingObject type casting
Object type casting
 
Ot ppt
Ot pptOt ppt
Ot ppt
 
Inner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVAInner Classes & Multi Threading in JAVA
Inner Classes & Multi Threading in JAVA
 
Ascii adjust & decimal adjust
Ascii adjust & decimal adjustAscii adjust & decimal adjust
Ascii adjust & decimal adjust
 
Parsing
ParsingParsing
Parsing
 
Comparison of pentium processor with 80386 and 80486
Comparison of pentium processor with  80386 and 80486Comparison of pentium processor with  80386 and 80486
Comparison of pentium processor with 80386 and 80486
 
Advantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationAdvantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client application
 
MultiMedia dbms
MultiMedia dbmsMultiMedia dbms
MultiMedia dbms
 
8237 dma controller
8237 dma controller8237 dma controller
8237 dma controller
 
Ajax Ppt
Ajax PptAjax Ppt
Ajax Ppt
 
Mobile dbms
Mobile dbmsMobile dbms
Mobile dbms
 
How to Draw an Effective ER diagram
How to Draw an Effective ER diagramHow to Draw an Effective ER diagram
How to Draw an Effective ER diagram
 
Virtual base class
Virtual base classVirtual base class
Virtual base class
 

Similaire à Ajax (20)

Ajax
AjaxAjax
Ajax
 
Ajax Ppt 1
Ajax Ppt 1Ajax Ppt 1
Ajax Ppt 1
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax & Reverse Ajax Presenation
Ajax & Reverse Ajax PresenationAjax & Reverse Ajax Presenation
Ajax & Reverse Ajax Presenation
 
Intoduction to Ajax
Intoduction to AjaxIntoduction to Ajax
Intoduction to Ajax
 
AJAX
AJAXAJAX
AJAX
 
M Ramya
M RamyaM Ramya
M Ramya
 
Asynchronous javascript and xml
Asynchronous javascript and xmlAsynchronous javascript and xml
Asynchronous javascript and xml
 
Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
Evolution of java script libraries
Evolution of java script librariesEvolution of java script libraries
Evolution of java script libraries
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax
Ajax Ajax
Ajax
 
AJAX
AJAXAJAX
AJAX
 
25250716 seminar-on-ajax text
25250716 seminar-on-ajax text25250716 seminar-on-ajax text
25250716 seminar-on-ajax text
 
Ajax assignment help
Ajax assignment helpAjax assignment help
Ajax assignment help
 
Ajax Basics And Framework
Ajax Basics And FrameworkAjax Basics And Framework
Ajax Basics And Framework
 
Ajax
AjaxAjax
Ajax
 
01 Ajax Intro
01 Ajax Intro01 Ajax Intro
01 Ajax Intro
 

Plus de Tech_MX

Theory of estimation
Theory of estimationTheory of estimation
Theory of estimationTech_MX
 
Templates in C++
Templates in C++Templates in C++
Templates in C++Tech_MX
 
String & its application
String & its applicationString & its application
String & its applicationTech_MX
 
Statistical quality__control_2
Statistical  quality__control_2Statistical  quality__control_2
Statistical quality__control_2Tech_MX
 
Stack data structure
Stack data structureStack data structure
Stack data structureTech_MX
 
Stack Data Structure & It's Application
Stack Data Structure & It's Application Stack Data Structure & It's Application
Stack Data Structure & It's Application Tech_MX
 
Spanning trees & applications
Spanning trees & applicationsSpanning trees & applications
Spanning trees & applicationsTech_MX
 
Set data structure 2
Set data structure 2Set data structure 2
Set data structure 2Tech_MX
 
Set data structure
Set data structure Set data structure
Set data structure Tech_MX
 
Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating SystemTech_MX
 
Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)Tech_MX
 
Motherboard of a pc
Motherboard of a pcMotherboard of a pc
Motherboard of a pcTech_MX
 
More on Lex
More on LexMore on Lex
More on LexTech_MX
 
Merging files (Data Structure)
Merging files (Data Structure)Merging files (Data Structure)
Merging files (Data Structure)Tech_MX
 
Memory dbms
Memory dbmsMemory dbms
Memory dbmsTech_MX
 
Linear regression
Linear regressionLinear regression
Linear regressionTech_MX
 
Keyboard interrupt
Keyboard interruptKeyboard interrupt
Keyboard interruptTech_MX
 

Plus de Tech_MX (20)

Uid
UidUid
Uid
 
Theory of estimation
Theory of estimationTheory of estimation
Theory of estimation
 
Templates in C++
Templates in C++Templates in C++
Templates in C++
 
String & its application
String & its applicationString & its application
String & its application
 
Statistical quality__control_2
Statistical  quality__control_2Statistical  quality__control_2
Statistical quality__control_2
 
Stack data structure
Stack data structureStack data structure
Stack data structure
 
Stack Data Structure & It's Application
Stack Data Structure & It's Application Stack Data Structure & It's Application
Stack Data Structure & It's Application
 
Spss
SpssSpss
Spss
 
Spanning trees & applications
Spanning trees & applicationsSpanning trees & applications
Spanning trees & applications
 
Set data structure 2
Set data structure 2Set data structure 2
Set data structure 2
 
Set data structure
Set data structure Set data structure
Set data structure
 
Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating System
 
Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)Mouse interrupts (Assembly Language & C)
Mouse interrupts (Assembly Language & C)
 
Motherboard of a pc
Motherboard of a pcMotherboard of a pc
Motherboard of a pc
 
More on Lex
More on LexMore on Lex
More on Lex
 
Merging files (Data Structure)
Merging files (Data Structure)Merging files (Data Structure)
Merging files (Data Structure)
 
Memory dbms
Memory dbmsMemory dbms
Memory dbms
 
Linkers
LinkersLinkers
Linkers
 
Linear regression
Linear regressionLinear regression
Linear regression
 
Keyboard interrupt
Keyboard interruptKeyboard interrupt
Keyboard interrupt
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

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