- var id = Roo.id();
- var frame = document.createElement('iframe');
- frame.id = id;
- frame.name = id;
- frame.className = 'x-hidden';
- if(Roo.isIE){
- frame.src = Roo.SSL_SECURE_URL;
- }
- document.body.appendChild(frame);
-
- if(Roo.isIE){
- document.frames[id].name = id;
- }
-
- var form = Roo.getDom(o.form);
- form.target = id;
- form.method = 'POST';
- form.enctype = form.encoding = 'multipart/form-data';
- if(url){
- form.action = url;
- }
-
- var hiddens, hd;
- if(ps){ // add dynamic params
- hiddens = [];
- ps = Roo.urlDecode(ps, false);
- for(var k in ps){
- if(ps.hasOwnProperty(k)){
- hd = document.createElement('input');
- hd.type = 'hidden';
- hd.name = k;
- hd.value = ps[k];
- form.appendChild(hd);
- hiddens.push(hd);
- }
- }
- }
-
- function cb(){
- var r = { // bogus response object
- responseText : '',
- responseXML : null
- };
-
- r.argument = o ? o.argument : null;
-
- try { //
- var doc;
- if(Roo.isIE){
- doc = frame.contentWindow.document;
- }else {
- doc = (frame.contentDocument || window.frames[id].document);
- }
- if(doc && doc.body){
- r.responseText = doc.body.innerHTML;
- }
- if(doc && doc.XMLDocument){
- r.responseXML = doc.XMLDocument;
- }else {
- r.responseXML = doc;
- }
- }
- catch(e) {
- // ignore
+
+ var formData = new FormData(Roo.getDom(o.form));
+
+
+ var cb = {
+ success: this.handleResponse,
+ failure: this.handleFailure,
+ scope: this,
+ argument: {options: o},
+ timeout : o.timeout || this.timeout
+ };
+
+ var method = "POST";
+
+
+
+ if(typeof o.autoAbort == 'boolean'){ // options gets top priority
+ if(o.autoAbort){
+ this.abort();