ObservableConnection
| Package: | CQ.Ext.data |
| Class: | Connection |
| Subclasses: | Ajax |
| Extends: | CQ.Ext.util.Observable |
| Clientlib: | cq.widgets |
The class encapsulates a connection to the page's originating domain, allowing requests to be made either to a configured URL, or to a URL specified at request time.
Requests made by this class are asynchronous, and will return immediately. No data from the server will be available to the statement immediately following the request call. To process returned data, use a success callback in the request options object, or an event listener.
The server response is parsed by the browser to create the document for the IFRAME. If the server is using JSON to send the return object, then the Content-Type header must be set to "text/html" in order to tell the browser to insert the text unchanged into the document body.
Characters which are significant to an HTML parser must be sent as HTML entities, so encode "<" as "<", "&" as "&" etc.
The response text is retrieved from the document, and a fake XMLHttpRequest object is created containing a responseText property in order to conform to the requirements of event handlers and callbacks.
Be aware that file upload packets are sent with the content type multipart/form and some server technologies (notably JEE) may require some custom processing in order to retrieve parameter names and parameter values from the packet content.
Also note that it's not possible to check the response code of the hidden iframe, so the success handler will ALWAYS fire.
| Config Options | Defined By | |
|---|---|---|
|
autoAbort : Boolean
(Optional) Whether this request should abort any pending requests. (defaults to false)
|
Connection | |
|
defaultHeaders : Object (Optional) An object containing request headers which are added to each request made by this object. (defaults to und...
(Optional) An object containing request headers which are added to each request made by this object. (defaults to undefined)
|
Connection | |
|
disableCaching : Boolean
(Optional) True to add a unique cache-buster param to GET requests. (defaults to true)
|
Connection | |
|
disableCachingParam : String
(Optional) Change the parameter which is sent went disabling caching through a cache buster. Defaults to '_dc'
|
Connection | |
|
extraParams : Object (Optional) An object containing properties which are used as extra parameters to each request made by this object. (d...
(Optional) An object containing properties which are used as extra parameters to each request made by this object. (defaults to undefined)
|
Connection | |
|
method : String (Optional) The default HTTP method to be used for requests. (defaults to undefined; if not set, but request params ar...
(Optional) The default HTTP method to be used for requests. (defaults to undefined; if not set, but request params are present, POST will be used; otherwise, GET will be used.)
|
Connection | |
|
timeout : Number (Optional) The timeout in milliseconds to be used for requests. (defaults to CQ.REQUEST_TIMEOUT)
(Optional) The timeout in milliseconds to be used for requests. (defaults to CQ.REQUEST_TIMEOUT)
|
Connection | |
|
url : String (Optional) The default URL to be used for requests to the server. Defaults to undefined. The url config may be a func...
(Optional)
The default URL to be used for requests to the server. Defaults to undefined. The |
Connection | |
| Method | Defined By | |
|---|---|---|
Connection( Object config )
Parameters:
|
Connection | |
abort( [Number transactionId] ) : void Aborts any outstanding request.
Aborts any outstanding request.
Parameters:
|
Connection | |
enableBubble( String/Array events ) : void Enables events fired by this Observable to bubble up an owner hierarchy by calling
this.getBubbleTarget() if present....
Enables events fired by this Observable to bubble up an owner hierarchy by calling
This is commonly used by CQ.Ext.Components to bubble events to owner Containers. See CQ.Ext.Component.getBubbleTarget. The default implementation in CQ.Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to access the required target more quickly. Example:
Parameters:
|
Observable | |
isLoading( [Number transactionId] ) : Boolean Determine whether this object has a request outstanding.
Determine whether this object has a request outstanding.
Parameters:
|
Connection | |
relayEvents( Object o, Array events ) : void Relays selected events from the specified Observable as if the events were fired by this.
Relays selected events from the specified Observable as if the events were fired by this.
Parameters:
|
Observable | |
request( [Object options] ) : Number Sends an HTTP request to a remote server.
Important: Ajax server requests are asynchronous, and this call will
return...
Sends an HTTP request to a remote server. Important: Ajax server requests are asynchronous, and this call will return before the response has been received. Process any returned data in a callback function.
To execute a callback function in the correct scope, use the scope option.
Parameters:
|
Connection | |
| Event | Defined By | |
|---|---|---|
beforerequest : ( Connection conn, Object options ) Fires before a network request is made to retrieve a data object.
Fires before a network request is made to retrieve a data object.
Listeners will be called with the following arguments:
|
Connection | |
requestcomplete : ( Connection conn, Object response, Object options ) Fires if the request was successfully completed.
Fires if the request was successfully completed.
Listeners will be called with the following arguments:
|
Connection | |
requestexception : ( Connection conn, Object response, Object options ) Fires if an error HTTP status was returned from the server.
See HTTP Status Code Definitions
for details of HTTP stat...
Fires if an error HTTP status was returned from the server.
See HTTP Status Code Definitions
for details of HTTP status codes.
Listeners will be called with the following arguments:
|
Connection | |