Да, да, это снова forismatic.com, но ничего не поделаешь, нравится мне их сервис, и его API.
В этот раз мой короткий code-snippet посвящен JavaScript и использованию JSONP, который позволяет выполнять кроссдоменные запросы к различным сервисам. Все что изложено ниже, может быть некорректным, а то и вовсе не верным, так как веб-программирование - это совершенно новая для меня область, да и пишу я этот сниппет после 3-4 часов изучения JavaScript.
О самом JSONP неплохо описано в Wiki
Код функции получения цитаты:
var apiUrl = null; function getQuote() { /* If apiUrl is null we will use default Url with English language. */ if( apiUrl == null ) { apiUrl = "http://api.forismatic.com/api/1.0/?method=getQuote&lang=en&format=jsonp&jsonp=parseQuote"; } /* Dynamic script creating. */ var script = document.createElement('script'); script.setAttribute('src', apiUrl); /* Load the script. */ document.getElementsByTagName('head')[0].appendChild(script); }
В адресе запроса, мы передаем имя callback-функции, которая будет вызвана после получения ответа от сервера, ее код тривиален:
function parseQuote( requestAnswer ) { /* Fill page elements. */ document.getElementById("quoteText").innerHTML = requestAnswer.quoteText; document.getElementById("quoteAuthor").innerHTML = requestAnswer.quoteAuthor; }
Где, quoteText и quoteAuthor, id места(div, p) для размещения текста цитаты и автора, соответственно.
Комментариев нет:
Отправить комментарий