⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connection.js

📁 ajax框架extjs是一套完整的富客户端解决方案
💻 JS
📖 第 1 页 / 共 2 页
字号:
            }else if(this.autoAbort !== false){                this.abort();            }            if((method == 'GET' || o.xmlData || o.jsonData) && p){                url += (url.indexOf('?') != -1 ? '&' : '?') + p;                p = '';            }            this.transId = Ext.lib.Ajax.request(method, url, cb, p, o);            return this.transId;        }else{            Ext.callback(o.callback, o.scope, [o, null, null]);            return null;        }    },    /**     * Determine whether this object has a request outstanding.     * @param {Number} transactionId (Optional) defaults to the last transaction     * @return {Boolean} True if there is an outstanding request.     */    isLoading : function(transId){        if(transId){            return Ext.lib.Ajax.isCallInProgress(transId);        }else{            return this.transId ? true : false;        }    },    /**     * Aborts any outstanding request.     * @param {Number} transactionId (Optional) defaults to the last transaction     */    abort : function(transId){        if(transId || this.isLoading()){            Ext.lib.Ajax.abort(transId || this.transId);        }    },    // private    handleResponse : function(response){        this.transId = false;        var options = response.argument.options;        response.argument = options ? options.argument : null;        this.fireEvent("requestcomplete", this, response, options);        Ext.callback(options.success, options.scope, [response, options]);        Ext.callback(options.callback, options.scope, [options, true, response]);    },    // private    handleFailure : function(response, e){        this.transId = false;        var options = response.argument.options;        response.argument = options ? options.argument : null;        this.fireEvent("requestexception", this, response, options, e);        Ext.callback(options.failure, options.scope, [response, options]);        Ext.callback(options.callback, options.scope, [options, false, response]);    },    // private    doFormUpload : function(o, ps, url){        var id = Ext.id();        var frame = document.createElement('iframe');        frame.id = id;        frame.name = id;        frame.className = 'x-hidden';        if(Ext.isIE){            frame.src = Ext.SSL_SECURE_URL;        }        document.body.appendChild(frame);        if(Ext.isIE){           document.frames[id].name = id;        }        var form = Ext.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 = Ext.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(Ext.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            }            Ext.EventManager.removeListener(frame, 'load', cb, this);            this.fireEvent("requestcomplete", this, r, o);            Ext.callback(o.success, o.scope, [r, o]);            Ext.callback(o.callback, o.scope, [o, true, r]);            setTimeout(function(){Ext.removeNode(frame);}, 100);        }        Ext.EventManager.on(frame, 'load', cb, this);        form.submit();        if(hiddens){ // remove dynamic params            for(var i = 0, len = hiddens.length; i < len; i++){                Ext.removeNode(hiddens[i]);            }        }    }});/** * @class Ext.Ajax * @extends Ext.data.Connection * Global Ajax request class.  Provides a simple way to make Ajax requests with maximum flexibility.  Example usage: * <pre><code>// Basic requestExt.Ajax.request({   url: 'foo.php',   success: someFn,   failure: otherFn,   headers: {       'my-header': 'foo'   },   params: { foo: 'bar' }});// Simple ajax form submissionExt.Ajax.request({    form: 'some-form',    params: 'foo=bar'});// Default headers to pass in every requestExt.Ajax.defaultHeaders = {    'Powered-By': 'Ext'};// Global Ajax events can be handled on every request!Ext.Ajax.on('beforerequest', this.showSpinner, this);</code></pre> * @singleton */Ext.Ajax = new Ext.data.Connection({    /**     * @cfg {String} url @hide     */    /**     * @cfg {Object} extraParams @hide     */    /**     * @cfg {Object} defaultHeaders @hide     */    /**     * @cfg {String} method (Optional) @hide     */    /**     * @cfg {Number} timeout (Optional) @hide     */    /**     * @cfg {Boolean} autoAbort (Optional) @hide     */    /**     * @cfg {Boolean} disableCaching (Optional) @hide     */    /**     * @property  disableCaching     * True to add a unique cache-buster param to GET requests. (defaults to true)     * @type Boolean     */    /**     * @property  url     * The default URL to be used for requests to the server. (defaults to undefined)     * @type String     */    /**     * @property  extraParams     * An object containing properties which are used as     * extra parameters to each request made by this object. (defaults to undefined)     * @type Object     */    /**     * @property  defaultHeaders     * An object containing request headers which are added to each request made by this object. (defaults to undefined)     * @type Object     */    /**     * @property  method     * The default HTTP method to be used for requests. Note that this is case-sensitive and should be all caps (defaults     * to undefined; if not set but parms are present will use "POST," otherwise "GET.")     * @type String     */    /**     * @property  timeout     * The timeout in milliseconds to be used for requests. (defaults to 30000)     * @type Number     */    /**     * @property  autoAbort     * Whether a new request should abort any pending requests. (defaults to false)     * @type Boolean     */    autoAbort : false,    /**     * Serialize the passed form into a url encoded string     * @param {String/HTMLElement} form     * @return {String}     */    serializeForm : function(form){        return Ext.lib.Ajax.serializeForm(form);    }});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -