Да, да, это снова 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) для размещения текста цитаты и автора, соответственно.
Комментариев нет:
Отправить комментарий