| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
jQuery + AJAX + (Google Search API || Yahoo Search API)
Как понятно из заголовка - данный пост будет посвящен работе с Google Search API и Yahoo Search API посредством JavaScript бибилотеки jQuery.
Как понятно из заголовка - данный пост будет посвящен работе с Google Search API и Yahoo Search API посредством JavaScript бибилотеки jQuery. Yahoo Search AJAX APIНачну с использования Yahoo Search API. И на то есть 2 причины:
Итак приступим, для начала нам понадобиться зарегистрировать аккаунт Yahoo и получить “Application Id“. Вашей “любимой” закладкой на время станет http://developer.yahoo.com/search/. Далее решим для себя какой поиск нас интересует (все ссылки на соответствющие разделы документации по Yahoo API):
Их много, но выберем один - Web Search, на нем и будем дальше эксперементировать. Составляем REST запрос По ссылкам приведенным выше получаем базу нашего URL, для Web Search это: Добавляем Ваш API ID appid=YahooDemo и сам запрос query=PHP (прежде чем добавить запрос его необходимо подготовить используя функцию encodeURIComponent) В итоге получаем следующий URL:
Это наш необходимый минимум, но XML - это не самый удобоваримый формат для JavaScript’a, нам больше симпатичен JSON, и даже лучше JSONP. Для этого нам необходимо указать формат вывода используя параметр output. Для использования прелестей JSONP нам необходимо так же указать имя callback функции, и теперь наш URL будет выглядеть следующим образом: JavaScript А теперь возьмем jQuery и получим следующую конструкцию:
Данный пример аналогичен следующему:
Примечание: запрос мы чуть-чуть изменили - теперь он оканчивается на …&callback=? - это необходима, чтобы jQuery подставил правильное имя callback функции в запрос. Callback функция в данном примере создает список UL, в котором элементы LI будут соответствовать результатам поиска. (у каждого типа поиска свои, специфические поля, более подробное описание смотрите по вышеприведенным ссылкам). Как мы видим все достаточно просто - теперь вывод результатов поиска ложится полностью на вашу фантазию… Google Search AJAX APIЕсли Вы уже сталкивались с Google Search AJAX API, то знаете - у них есть чудная JavaScript библиотека, которую достаточно проблематично кастомизировать под конкретные нужды, поэтому, по аналогии с Yahoo API воспользуемся JSONP. Но прежде… нам потребуется получить “AJAX Search API Key“. Отправной точкой для нас будет страница: http://code.google.com/apis/ajaxsearch/documentation/reference.html Составляем REST запрос Выбираем тип поиска, и соответствующий базовый URL:
Необходимо указать три параметра - это версия API - v=1.0, Ваш API Key key=your-key и непосредственно сам запрос q=PHP (ключ не является обязательным параметром, но очень рекомендуемый):
Примечание: у каждого типа поиска есть свои специфические параметры, все они описаны в документации. JavaScript Теперь возвращаясь к нашему любимому JSONP - Google сделал нам медвежью услугу - для организации JSONP он предусмотрел целых два параметра - callback и context и они являются взаимообязательными, и параметр context будет всегда возвращаться нам в callback функцию в качестве первого параметра (сие сделано для того, чтобы мы могли различать одновременные обращения к API). Но есть одна загвоздка - для работы с jQuery сие не подходит, т.к. jQuery ожидает в качестве первого параметра данные, по этой причине пришлось пойти на хитрость и создать промежуточную callback функцию:
Теперь мы готовы “спрашивать”:
Примечание: у каждого типа результатов свои свойства, более подробную информацию найдете в документации. Как видим - теперь мы не ограничены “возможностями” Google JavaScript бибилотеки, и вольны распоряжаться данными на свое усмотрение, чего собственно и добивались… P.S. Используя подобный подход - мы снимаем ограничение на представление данных, и что немаловажно - перекидываем нагрузку с сервера на клиента (именно таким образом организован поиск на сайте analyser.hohli.com).
Рубрика: AJAX
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|