X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/docs/source/JsonP.html diff --git a/docs/source/JsonP.html b/docs/source/JsonP.html index b391258f..0f1d3740 100644 --- a/docs/source/JsonP.html +++ b/docs/source/JsonP.html @@ -3,8 +3,8 @@ The source code - - + + @@ -19,22 +19,21 @@ * @class Ext.data.JsonP * @singleton * This class is used to create JSONP requests. JSONP is a mechanism that allows for making - * requests for data cross domain. More information is available here: - * http://en.wikipedia.org/wiki/JSONP + * requests for data cross domain. More information is available <a href="http://en.wikipedia.org/wiki/JSONP">here</a>. */ Ext.define('Ext.data.JsonP', { - + /* Begin Definitions */ - + singleton: true, - + statics: { requestCount: 0, requests: {} }, - + /* End Definitions */ - + /** * @property timeout * @type Number @@ -42,21 +41,21 @@ Ext.define('Ext.data.JsonP', { * failure callback will be fired. The timeout is in ms. Defaults to <tt>30000</tt>. */ timeout: 30000, - + /** * @property disableCaching * @type Boolean * True to add a unique cache-buster param to requests. Defaults to <tt>true</tt>. */ disableCaching: true, - + /** - * @property disableCachingParam + * @property disableCachingParam * @type String * Change the parameter which is sent went disabling caching through a cache buster. Defaults to <tt>'_dc'</tt>. */ disableCachingParam: '_dc', - + /** * @property callbackKey * @type String @@ -65,7 +64,7 @@ Ext.define('Ext.data.JsonP', { * url?callback=Ext.data.JsonP.callback1 */ callbackKey: 'callback', - + /** * Makes a JSONP request. * @param {Object} options An object which may contain the following properties. Note that options will @@ -85,7 +84,7 @@ Ext.define('Ext.data.JsonP', { * <li><b>disableCachingParam</b> : String (Optional) <div class="sub-desc">See {@link #disableCachingParam}</div></li> * <li><b>success</b> : Function (Optional) <div class="sub-desc">A function to execute if the request succeeds.</div></li> * <li><b>failure</b> : Function (Optional) <div class="sub-desc">A function to execute if the request fails.</div></li> - * <li><b>callback</b> : Function (Optional) <div class="sub-desc">A function to execute when the request + * <li><b>callback</b> : Function (Optional) <div class="sub-desc">A function to execute when the request * completes, whether it is a success or failure.</div></li> * <li><b>scope</b> : Object (Optional)<div class="sub-desc">The scope in * which to execute the callbacks: The "this" object for the callback function. Defaults to the browser window.</div></li> @@ -94,32 +93,33 @@ Ext.define('Ext.data.JsonP', { */ request: function(options){ options = Ext.apply({}, options); - + //<debug> if (!options.url) { Ext.Error.raise('A url must be specified for a JSONP request.'); } //</debug> - - var me = this, - disableCaching = Ext.isDefined(options.disableCaching) ? options.disableCaching : me.disableCaching, - cacheParam = options.disableCachingParam || me.disableCachingParam, - id = ++me.statics().requestCount, - callbackName = options.callbackName || 'callback' + id, - callbackKey = options.callbackKey || me.callbackKey, - timeout = Ext.isDefined(options.timeout) ? options.timeout : me.timeout, - params = Ext.apply({}, options.params), + + var me = this, + disableCaching = Ext.isDefined(options.disableCaching) ? options.disableCaching : me.disableCaching, + cacheParam = options.disableCachingParam || me.disableCachingParam, + id = ++me.statics().requestCount, + callbackName = options.callbackName || 'callback' + id, + callbackKey = options.callbackKey || me.callbackKey, + timeout = Ext.isDefined(options.timeout) ? options.timeout : me.timeout, + params = Ext.apply({}, options.params), url = options.url, - request, + name = Ext.isSandboxed ? Ext.getUniqueGlobalNamespace() : 'Ext', + request, script; - - params[callbackKey] = 'Ext.data.JsonP.' + callbackName; + + params[callbackKey] = name + '.data.JsonP.' + callbackName; if (disableCaching) { params[cacheParam] = new Date().getTime(); } - + script = me.createScript(url, params); - + me.statics().requests[id] = request = { url: url, params: params, @@ -131,17 +131,17 @@ Ext.define('Ext.data.JsonP', { callback: options.callback, callbackName: callbackName }; - + if (timeout > 0) { request.timeout = setTimeout(Ext.bind(me.handleTimeout, me, [request]), timeout); } - + me.setupErrorHandling(request); me[callbackName] = Ext.bind(me.handleResponse, me, [request], true); Ext.getHead().appendChild(script); return request; }, - + /** * Abort a request. If the request parameter is not specified all open requests will * be aborted. @@ -150,7 +150,7 @@ Ext.define('Ext.data.JsonP', { abort: function(request){ var requests = this.statics().requests, key; - + if (request) { if (!request.id) { request = requests[request]; @@ -164,7 +164,7 @@ Ext.define('Ext.data.JsonP', { } } }, - + /** * Sets up error handling for the script * @private @@ -173,7 +173,7 @@ Ext.define('Ext.data.JsonP', { setupErrorHandling: function(request){ request.script.onerror = Ext.bind(this.handleError, this, [request]); }, - + /** * Handles any aborts when loading the script * @private @@ -183,7 +183,7 @@ Ext.define('Ext.data.JsonP', { request.errorType = 'abort'; this.handleResponse(null, request); }, - + /** * Handles any script errors when loading the script * @private @@ -193,7 +193,7 @@ Ext.define('Ext.data.JsonP', { request.errorType = 'error'; this.handleResponse(null, request); }, - + /** * Cleans up anu script handling errors * @private @@ -202,7 +202,7 @@ Ext.define('Ext.data.JsonP', { cleanupErrorHandling: function(request){ request.script.onerror = null; }, - + /** * Handle any script timeouts * @private @@ -212,7 +212,7 @@ Ext.define('Ext.data.JsonP', { request.errorType = 'timeout'; this.handleResponse(null, request); }, - + /** * Handle a successful response * @private @@ -220,9 +220,9 @@ Ext.define('Ext.data.JsonP', { * @param {Object} request The request */ handleResponse: function(result, request){ - + var success = true; - + if (request.timeout) { clearTimeout(request.timeout); } @@ -230,7 +230,7 @@ Ext.define('Ext.data.JsonP', { delete this.statics()[request.id]; this.cleanupErrorHandling(request); Ext.fly(request.script).remove(); - + if (request.errorType) { success = false; Ext.callback(request.failure, request.scope, [request.errorType]); @@ -239,7 +239,7 @@ Ext.define('Ext.data.JsonP', { } Ext.callback(request.callback, request.scope, [success, result, request.errorType]); }, - + /** * Create the script tag * @private