API Docs for: 3.5.0
Show:

JSONPRequest Class

Defined in: jsonp/js/jsonp.js:3
Module: jsonp

Provides a JSONPRequest class for repeated JSONP calls, and a convenience method Y.jsonp(url, callback) to instantiate and send a JSONP request.

Both the constructor as well as the convenience function take two parameters: a url string and a callback.

The url provided must include the placeholder string "{callback}" which will be replaced by a dynamically generated routing function to pass the data to your callback function. An example url might look like "http://example.com/service?callback={callback}".

The second parameter can be a callback function that accepts the JSON payload as its argument, or a configuration object supporting the keys:

  • on - map of callback subscribers
    • success - function handler for successful transmission
    • failure - function handler for failed transmission
    • timeout - function handler for transactions that timeout
  • format - override function for inserting the proxy name in the url
  • timeout - the number of milliseconds to wait before giving up
  • context - becomes this in the callbacks
  • args - array of subsequent parameters to pass to the callbacks
  • allowCache - use the same proxy name for all requests? (boolean)

Methods

_defaultCallback

(
  • url
  • config
)
Function

Override this method to provide logic to default the success callback if it is not provided at construction. This is overridden by jsonp-url to parse the callback from the url string.

Parameters:

  • url String

    the url passed at construction

  • config Object

    (optional) the config object passed at construction

Returns:

_defaultCallback

(
  • url
)
Function protected

Provided by the jsonp-url module.

Defined in jsonp/js/jsonp-url.js:39

Parses the url for a callback named explicitly in the string. Override this if the target JSONP service uses a different query parameter or url format.

If the callback is declared inline, the corresponding function will be returned. Otherwise null.

Parameters:

  • url String

    the url to search in

Returns:

Function: the callback function if found, or null

_format

(
  • url
  • proxy
  • args
)
String protected

Default url formatter. Looks for callback= in the url and appends it if not present. The supplied proxy name will be assigned to the query param. Override this method by passing a function as the "format" property in the config object to the constructor.

Parameters:

  • url String

    the original url

  • proxy String

    the function name that will be used as a proxy to the configured callback methods.

  • args Any multiple

    additional args passed to send()

Returns:

String: fully qualified JSONP url

_format

(
  • url
  • proxy
)
String protected

Provided by the jsonp-url module.

Defined in jsonp/js/jsonp-url.js:93

URL formatter that looks for callback= in the url and appends it if not present. The supplied proxy name will be assigned to the query param. Override this method by passing a function as the "format" property in the config object to the constructor.

Parameters:

  • url String

    the original url

  • proxy String

    the function name that will be used as a proxy to the configured callback methods.

Returns:

String: fully qualified JSONP url

_init

(
  • url
  • callback
)
protected

Set up the success and failure handlers and the regex pattern used to insert the temporary callback name in the url.

Parameters:

  • url String

    the url of the JSONP service

  • callback Object | Function

    Optional success callback or config object containing success and failure functions and the url regex.

send

(
  • args
)
chainable

Issues the JSONP request.

Parameters:

  • args Any multiple

    any additional arguments to pass to the url formatter beyond the base url and the proxy function name

Properties

_pattern

RegExp protected

Provided by the jsonp-url module.

Defined in jsonp/js/jsonp-url.js:16

RegExp used by the default URL formatter to insert the generated callback name into the JSONP url. Looks for a query param callback=. If a value is assigned, it will be clobbered.

Default: /\bcallback=.*?(?=&|$)/i

_requests

Object private

Map of the number of requests currently pending responses per generated proxy. Used to ensure the proxy is not flushed if the request times out and there is a timeout handler and success handler, and used by connections configured to allowCache to make sure the proxy isn't deleted until the last response has returned.

_template

String protected

Provided by the jsonp-url module.

Defined in jsonp/js/jsonp-url.js:28

Template used by the default URL formatter to add the callback function name to the url.

Default: "callback={callback}"

_timeouts

Object private

Map of the number of timeouts received from the destination url by generated proxy. Used to ensure the proxy is not flushed if the request times out and there is a timeout handler and success handler, and used by connections configured to allowCache to make sure the proxy isn't deleted until the last response has returned.