webgui/www/extras/extjs/docs/output/HttpProxy.jss.html

94 lines
No EOL
4.2 KiB
HTML

<html><head><title>HttpProxy.js</title><link rel="stylesheet" type="text/css" href="../resources/style.css" media="screen"/></head><body><h1>HttpProxy.js</h1><pre class="highlighted"><code><i>/**
* @class Ext.data.HttpProxy
* An implementation of Ext.data.DataProxy that reads a data object from an Ext.data.Connection object
* configured to reference a certain URL.
* &lt;p&gt;
* &lt;em&gt;Note that <b>this</b> class cannot be used to retrieve data from a domain other than the domain
* from which the running page was served.
* &lt;p&gt;
* For cross-domain access to remote data, use an Ext.data.ScriptTagProxy.
* &lt;/em&gt;
* &lt;p&gt;
* Be aware that to enable the browser to parse an XML document, the server &lt;strong&gt;must&lt;/strong&gt; set
* the Content-Type header to &quot;text/xml&quot;.
* @constructor
* @param {Object} conn An Ext.data.Connection object referencing the URL from which the data object
* is to be read, or a configuration object <b>for</b> an Ext.data.Connection.
*/</i>
Ext.data.HttpProxy = <b>function</b>(conn){
Ext.data.HttpProxy.superclass.constructor.call(<b>this</b>);
<i>// is conn a conn config or a real conn?</i>
<b>this</b>.conn = conn.events ? conn : <b>new</b> Ext.data.Connection(conn);
};
Ext.extend(Ext.data.HttpProxy, Ext.data.DataProxy, {
<i>// private</i>
getConnection : <b>function</b>(){
<b>return</b> this.conn;
},
<i>/**
* Load data from the configured Ext.data.Connection, read the data object into
* a block of Ext.data.Records using the passed Ext.data.DataReader implementation, and
* process that block using the passed callback.
* @param {Object} params An object containing properties which are to be used as HTTP parameters
* <b>for</b> the request to the remote server.
* @param {Ext.data.DataReader) reader The Reader object which converts the data
* object into a block of Ext.data.Records.
* @param {Function} callback The <b>function</b> into which to pass the block of Ext.data.Records.
* The <b>function</b> must be passed &lt;ul&gt;
* &lt;li&gt;The Record block object&lt;/li&gt;
* &lt;li&gt;The &quot;arg&quot; argument from the load <b>function</b>&lt;/li&gt;
* &lt;li&gt;A boolean success indicator&lt;/li&gt;
* &lt;/ul&gt;
* @param {Object} scope The scope <b>in</b> which to call the callback
* @param {Object} arg An optional argument which is passed to the callback as its second parameter.
*/</i>
load : <b>function</b>(params, reader, callback, scope, arg){
<b>if</b>(this.fireEvent(&quot;beforeload&quot;, <b>this</b>, params) !== false){
<b>this</b>.conn.request({
params : params || {},
request: {
callback : callback,
scope : scope,
arg : arg
},
reader: reader,
callback : <b>this</b>.loadResponse,
scope: <b>this</b>
});
}<b>else</b>{
callback.call(scope||<b>this</b>, null, arg, false);
}
},
<i>// private</i>
loadResponse : <b>function</b>(o, success, response){
<b>if</b>(!success){
<b>this</b>.fireEvent(&quot;loadexception&quot;, <b>this</b>, o, response);
o.request.callback.call(o.request.scope, null, o.request.arg, false);
<b>return</b>;
}
<b>var</b> result;
try {
result = o.reader.read(response);
}catch(e){
<b>this</b>.fireEvent(&quot;loadexception&quot;, <b>this</b>, o, response, e);
o.request.callback.call(o.request.scope, null, o.request.arg, false);
<b>return</b>;
}
<b>this</b>.fireEvent(&quot;load&quot;, <b>this</b>, o, o.request.arg);
o.request.callback.call(o.request.scope, result, o.request.arg, true);
},
<i>// private</i>
update : <b>function</b>(dataSet){
},
<i>// private</i>
updateResponse : <b>function</b>(dataSet){
}
});</code></pre><hr><div style="font-size:10px;text-align:center;color:gray;">Ext - Copyright &copy; 2006-2007 Ext JS, LLC<br />All rights reserved.</div>
</body></html>