JSONPRequest Class
<p>Provides a JSONPRequest class for repeated JSONP calls, and a convenience method Y.jsonp(url, callback) to instantiate and send a JSONP request.</p>
<p>Both the constructor as well as the convenience function take two parameters: a url string and a callback.</p>
<p>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}".</p>
<p>The second parameter can be a callback function that accepts the JSON payload as its argument, or a configuration object supporting the keys:</p> <ul> <li>on - map of callback subscribers <ul> <li>success - function handler for successful transmission</li> <li>failure - function handler for failed transmission</li> <li>timeout - function handler for transactions that timeout</li> </ul> </li> <li>format - override function for inserting the proxy name in the url</li> <li>timeout - the number of milliseconds to wait before giving up</li> <li>context - becomes <code>this</code> in the callbacks</li> <li>args - array of subsequent parameters to pass to the callbacks</li> <li>allowCache - use the same proxy name for all requests? (boolean)</li> </ul>
Index
Methods
_defaultCallback
-
url
<p>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.</p>
<p>If the callback is declared inline, the corresponding function will be returned. Otherwise null.</p>
Parameters:
-
url
Stringthe url to search in
Returns:
the callback function if found, or null
_defaultCallback
-
url
-
config
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
Stringthe url passed at construction
-
config
Object(optional) the config object passed at construction
Returns:
_format
-
url
-
proxy
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
Stringthe original url
-
proxy
Stringthe function name that will be used as a proxy to the configured callback methods.
Returns:
fully qualified JSONP url
_format
-
url
-
proxy
-
args
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
Stringthe original url
-
proxy
Stringthe function name that will be used as a proxy to the configured callback methods.
-
args
Any multipleadditional args passed to send()
Returns:
fully qualified JSONP url
_init
-
url
-
callback
Set up the success and failure handlers and the regex pattern used to insert the temporary callback name in the url.
Parameters:
-
url
Stringthe url of the JSONP service
-
callback
Object | FunctionOptional success callback or config object containing success and failure functions and the url regex.
send
-
args
Issues the JSONP request.
Parameters:
-
args
Any multipleany additional arguments to pass to the url formatter beyond the base url and the proxy function name
Properties
_pattern
RegExp
protected
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
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.