AJAX and REST
Download
Report
Transcript AJAX and REST
AJAX and REST
What is AJAX?
It’s an acronym for Asynchronous JavaScript
and XML
It’s not really a single technology but several
Although requests need not be asynchronous
HTML / CSS / DOM / XML
It’s used to dynamically update Web pages
or at least parts of them
What is AJAX?
It uses the HTTPRequest and
HTTPResponse objects to
Make a server request from client JavaScript
And process the server-side response
AJAX (model)
From W3Schools.com
AJAX Frameworks
Most vendors have their own AJAX
abstraction layers
ASP has a script manager and an AJAX toolkit
There are several for PHP
It’s a layer on top of AJAX
Phery, CJAX, Quicknet
There are frameworks for Python, Perl, Ruby
and others
RestFull APIs
These are generally available API that accept
and execute AJAX requests
Yahoo has YQL
SQL-like queries are built into the URL (GET
request)
I’ll show this in class
RestFull APIS
Google has a number of APIs
These use JSON typically
JSON is an alternative to moving the responses
around as XML
AJAX (The Mechanics)
The XMLHttpRequest object is used to
create a request
The request gets configured with the open
method
The request gets sent with the send method
The responseText and responseXML
properties store the returned information
Use the onreadystatechange event for
async requests
AJAX XMLHttpRequest
The following creates the request
The open method define the type of request
var req = new XMLHttpRequest();
The first argument contains the method to use
(GET or POST)
The second argument contains the URL
The third argument contains true
(asynchronous) or false (synchronous)
The send method sends the request to the
server
AJAX XMLHttpRequest
(Example)
Create open and send a synchronous request
AJAX Response (Synchronous)
When the request completes, we get at the
response through the following properties of
the XMLHttpRequest object
responseText – gets the response data as a
string
responseXML gets the response data as XML,
which we can then parse using the DOM
This is the same DOM we talked about
AJAX Response (Synchronous)
AJAX Response
(Asynchronous)
The onreadystatechanged event fires as
the request progresses
Initialize
Loading
Loaded
Interactive
Completed
Status and status contain the result status
information
404 – not found / 200 success
AJAX Response
(Asynchronous)
AJAX (jQuery)
As usual, jQuery makes the process simple
A Few Words about XML
It’s the extensible markup language
It looks like XHTML 5
Data is frequently stored and transported as
XML
Tags, attributes and elements
Nesting concepts are the same
However the tag and attribute names can be
any valid name
.NET knows about them
A Few Words about XML
Sample XML document
REST
Acronym for Representational State Transfer
REST (restful Web services) is a way of
exchanging HTTP requests and responses
between client and server
It’s an alternative to Web Services and SOAP
It’s an alternative to Remote Procedure Calls
(RPC)
REST
For read requests we
Send all data to the server via a URL and GET
request
URLs are a logical location, rather than a
physical resource
Data is typically returned as XML
It’s not a standard but a way of doing things
An architecture of style
YQL is restful
A Few Words about YQL
Yahoo Query Language
Implemented as a Web service, they maintain
a number of tables
Finance
Geography and many more
http://developer.yahoo.com/yql/guide/yqlopentables-chapter.html#
AJAX (References)
http://w3schools.com/ajax/default.asp
http://msdn.microsoft.com/enus/library/bb924552.aspx
http://developer.yahoo.com/yql/
HTML 5
http://www.ibm.com/developerworks/library/
x-html5/