Alien-Web-ExtJS-V3
view release on metacpan or search on metacpan
share/docs/source/Connection.html view on Meta::CPAN
Ext.fly(form).set({
target: id,
method: POST,
enctype: encoding,
encoding: encoding,
action: url || buf.action
});
// add dynamic params
Ext.iterate(Ext.urlDecode(ps, false), function(k, v){
hd = doc.createElement('input');
Ext.fly(hd).set({
type: 'hidden',
value: v,
name: k
});
form.appendChild(hd);
hiddens.push(hd);
});
function cb(){
var me = this,
// bogus response object
r = {responseText : '',
responseXML : null,
argument : o.argument},
doc,
firstChild;
try{
doc = frame.contentWindow.document || frame.contentDocument || WINDOW.frames[id].document;
if(doc){
if(doc.body){
if(/textarea/i.test((firstChild = doc.body.firstChild || {}).tagName)){ // json response wrapped in textarea
r.responseText = firstChild.value;
}else{
r.responseText = doc.body.innerHTML;
}
}
//in IE the document may still have a body even if returns XML.
r.responseXML = doc.XMLDocument || doc;
}
}
catch(e) {}
Ext.EventManager.removeListener(frame, LOAD, cb, me);
me.fireEvent(REQUESTCOMPLETE, me, r, o);
function runCallback(fn, scope, args){
if(Ext.isFunction(fn)){
fn.apply(scope, args);
}
}
runCallback(o.success, o.scope, [r, o]);
runCallback(o.callback, o.scope, [o, true, r]);
if(!me.debugUploads){
setTimeout(function(){Ext.removeNode(frame);}, 100);
}
}
Ext.EventManager.on(frame, LOAD, cb, this);
form.submit();
Ext.fly(form).set(buf);
Ext.each(hiddens, function(h) {
Ext.removeNode(h);
});
}
});
})();
<span id='Ext-Ajax'>/**
</span> * @class Ext.Ajax
* @extends Ext.data.Connection
* <p>The global Ajax request class that provides a simple way to make Ajax requests
* with maximum flexibility.</p>
* <p>Since Ext.Ajax is a singleton, you can set common properties/events for it once
* and override them at the request function level only if necessary.</p>
* <p>Common <b>Properties</b> you may want to set are:<div class="mdetail-params"><ul>
* <li><b><tt>{@link #method}</tt></b><p class="sub-desc"></p></li>
* <li><b><tt>{@link #extraParams}</tt></b><p class="sub-desc"></p></li>
* <li><b><tt>{@link #url}</tt></b><p class="sub-desc"></p></li>
* </ul></div>
* <pre><code>
// Default headers to pass in every request
Ext.Ajax.defaultHeaders = {
'Powered-By': 'Ext'
};
* </code></pre>
* </p>
* <p>Common <b>Events</b> you may want to set are:<div class="mdetail-params"><ul>
* <li><b><tt>{@link Ext.data.Connection#beforerequest beforerequest}</tt></b><p class="sub-desc"></p></li>
* <li><b><tt>{@link Ext.data.Connection#requestcomplete requestcomplete}</tt></b><p class="sub-desc"></p></li>
* <li><b><tt>{@link Ext.data.Connection#requestexception requestexception}</tt></b><p class="sub-desc"></p></li>
* </ul></div>
* <pre><code>
// Example: show a spinner during all Ajax requests
Ext.Ajax.on('beforerequest', this.showSpinner, this);
Ext.Ajax.on('requestcomplete', this.hideSpinner, this);
Ext.Ajax.on('requestexception', this.hideSpinner, this);
* </code></pre>
* </p>
* <p>An example request:</p>
* <pre><code>
// Basic request
Ext.Ajax.{@link Ext.data.Connection#request request}({
url: 'foo.php',
success: someFn,
failure: otherFn,
headers: {
'my-header': 'foo'
},
params: { foo: 'bar' }
});
// Simple ajax form submission
( run in 0.728 second using v1.01-cache-2.11-cpan-119454b85a5 )