Class: Request.JSONP

Створює JSON запит за допомогою ін'єкції тега script та обробляє колбеки за вас.

Навчальний посібник/Демо

Реалізує

Request.JSONP Method: constructor

Синтаксис

new Request.JSONP(options);

Аргументи

  1. options - (object) об'єкт з ключовими параметрами опцій

Опції

  • url - (url) URL для отримання JSON даних
  • callbackKey - (string: за замовчуванням callback) ключ у URL, який сервер використовує для обгортання JSON результатів. Наприклад, якщо ви використовували callbackKey: 'callback', то сервер очікує щось на кшталт http://..../?q=search+term&callback=myFunction; Це має бути визначено правильно.
  • data - (string: за замовчуванням '') Типові дані для Request-JSONP:send, використовуються, коли дані не надано.
  • link - (string: за замовчуванням 'ignore') Може бути 'ignore', 'cancel' та 'chain'.
    • 'ignore' - Будь-які виклики start під час виконання запиту будуть проігноровані.
    • 'cancel' - Будь-які виклики start під час виконання запиту матимуть пріоритет над поточним запущеним запитом. Новий запит почнеться негайно, скасовуючи той, що зараз виконується.
    • 'chain' - Будь-які виклики start під час виконання запиту будуть додані до черги і виконаються як тільки поточний запит завершиться, один за одним.
  • timeout - (number: за замовчуванням 0) У поєднанні з подією onTimeout, визначає кількість мілісекунд перед тим, як з'єднання вважатиме тайм-аутом. (Рекомендується не використовувати timeout з великими файлами і лише тоді, коли ви знаєте, що очікувати.)
  • injectScript - (mixed: за замовчуванням document head) куди ін'єктувати script-елементи, використовувані для викликів
  • log - (boolean: за замовчуванням false) якщо true, надсилає повідомлення логування з console.log як типовий onRequest та події onError.

Події

  • onRequest - (function, опціонально) спрацьовує, коли script-тег ін'єктовано; передасться запитуваний URL та script-елемент.
  • onComplete - (function, опціонально) спрацьовує, коли дані повернулися; передадуться дані та екземпляр Request.JSONP, що їх запитував.
  • onCancel - (function, опціонально) спрацьовує, коли запит скасовано.
  • onTimeout - (function, опціонально) спрацьовує, коли тайм-аут перевищено.

Приклад

var myJSONP = new Request.JSONP({
    url: 'http://www.flickr.com/services/feeds/photos_public.gne?format=json',
    callbackKey: 'jsoncallback',
    data: {
        partTag: 'mtvo',
        iod: 'hlPrice',
        viewType: 'json',
        results: '100',
        query: 'ipod'
    },
    onRequest: function(url){
        // a script tag is created with a src attribute equal to url
    },
    onComplete: function(data){
        // the request was completed.
    }
}).send();

Вищезазначений приклад згенерує такий URL:

http://www.flickr.com/services/feeds/photos_public.gne?format=json&jsoncallback=Request.JSONP.request_map.request_0

Він вбудує script-тег (у head документа) з цим URL і, коли він завантажиться, виконає колбек "myFunction", визначений у ньому.

Request.JSONP Method: send

Виконує JSON запит.

Синтаксис

myJSONP.send([options]);

Аргументи

  1. options - (object; опціонально) ключові параметри опцій, що конфігурують запит. Може бути тим самим, що й (або підмножиною) опцій класу, елементом (наприклад, формою), чиї дочірні input-и будуть перетворені на рядок запиту, або рядком запиту.

Повертає

Request.JSONP Method: cancel

Скасовує поточний запущений запит, якщо такий є.

Синтаксис

myJSONP.cancel();

Повертає

Request.JSONP Method: isRunning

Повертає true, якщо запит зараз виконується

Синтаксис:

myRequest.isRunning()

Повертає:

  • (boolean) True, якщо запит виконується

Приклад:

if (myJSONP.isRunning()) // It runs!

Эта документация распостраняется на правах Attribution-NonCommercial-ShareAlike 3.0 License.
Оригинал документации на английском.
© Linux.ria.com, 2008-2026