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/