Data Feeds & AJAX
Fetch external data via AJAX and parse it using built-in parsers. All requests are asynchronous with callbacks.
AJAX Methods
| Method | Description |
|---|---|
$.ajax(url, settings) | Low-level HTTP (GET/POST only) |
$.get(url, data, success, dataType) | HTTP GET |
$.getJSON(url, data, success) | GET + auto-parse JSON |
$.post(url, data, success, dataType) | HTTP POST |
$.getAndParseFeed(dataSource, callback) | GET + auto-parse feed |
See also: jQuery uDOM for full AJAX details.
GET JSON Example
$(function() {
$.getJSON('http://server/api/data', { type: 'coffee'}, function(response) {
$.textArea({ fontSize: 40 }).text("Price: " + response.price).addTo('svg');
});
});RSS-Driven Slideshow
$(function() {
$.getAndParseFeed(
{ type: 'Rss', uri: 'http://rss.news.yahoo.com/rss/world'},
function(data) {
$.slideshow({
data: data, defaultSlideDur: 5, repeatDur: 'indefinite',
renderToSVG: function() {
return $.g().add([
$.textArea({ height: '20%', fontSize: 40 }).text(this.title),
$.textArea({ top: '25%', height: '60%'}).text(this.description)
]);
}
}).addTo('svg');
}
);
});Parsers
| Method | Input | Output |
|---|---|---|
$.parseXML(text) | XML string | DOM Document |
$.parseJSON(text) | JSON string | Object/Array |
$.parseRSS(text) | RSS/Atom feed | Array of {title, description, enclosure, pubDate} |
$.parseCSV(text, sep) | CSV content | Array of row objects |
$.parseICAL(text) | iCalendar | Array of event objects |
$.parseTXT(text) | Plain text | Array of lines |
POST via RPC to Set Shared Variable
$.ajax({
type: "POST",
url: "http://HMP_address/rpc",
contentType: 'application/json',
data: JSON.stringify({
method: "webstorage_set",
params: [[ { name: "var1", value: "Hello"} ]],
id: 1
})
});Related Pages
- Playlists & Slideshows — data-driven slideshows
- Shared Variables — RPC integration
- Web Storage — persistent data storage
- jQuery uDOM — AJAX and DOM