• Ext.data Connection/Ajax/Record


    Ext.data.Connection
    访问指定的url,这是个异步调用类,如果想得到服务器信息,请在request参数中指定callback方法或指定侦听者(对文件上传无效)

    Connection( Object config )
    构造,config定义为{
     autoAbort : Boolean,
     defaultHeaders : Object,
     disableCaching : Boolean,
     extraParams : Object,
     method : String,
     timeout : Number,
     url : String
    }
    对象

    方法:由    Observable继承过来的方法省略
    abort( [Number transactionId] ) : void
    放弃请求,如果同时有多个请求发生,参数指示请求进程序号,不指定则是放弃最后一个请求

    isLoading( [Number transactionId] ) : Boolean
    第transactionId个请求是否完成载入,未批定指最后一个

    request( [Object options] ) : Number
    最实用的当然是这个方法了,返回的正是前面的两个方法所需要的进程id
    其中options定义为{
    url:string,    //请求url
    params:Object/String/Function, //以post方法请求时传递的参数
    method:string ,        //Get/Post
    callback:Function,    //回叫方法,不管是成功还是失败都会呼叫这个方法,有三个参数,由options传入的options参数,success:Boolean,成功?response:Object, 含有返回数据的XMLHttpRequest对象
    success:Function,    //成功时回叫,第一个参数为XMLHttpRequest对象,第二个参数传入指定的options
    failure:Function,    //失败时回叫,参数同success
    scope:Object,        //范围
    form:Object/String,    //一个form对象或它的id,可以由此自动生成参数params
    isUpload:Boolean,    //文件上传?通常可以自动检测
    headers:Object,        //要自定义的请求头信息
    xmlData:Object        //一个xml文档对象,它将通过url附加参数的方式发起请求
    disableCaching:Boolean    //是否禁用缓存?默认为真
    }

    Ext.Ajax
    由Ext.data.Connection 继承而来,方法和父类一模一样,但使用起来更简单一些,是一个全局惟一静态类
    示例:
    Ext.Ajax.request({
       url: 'foo.php',
       success: someFn,
       failure: otherFn,
       headers: {
           'my-header': 'foo'
       },
       params: { foo: 'bar' }
    });


    Ext.Ajax.request({
        form: 'some-form',
        params: 'foo=bar'
    });

    //所有的Ext.Ajax请求都会加个这个默认的头
    Ext.Ajax.defaultHeaders = {
        'Powered-By': 'Ext'
    };

    //所有的Ext,Ajax在发起请求前都会调用showSpinner
    Ext.Ajax.on('beforerequest', this.showSpinner, this);


    Ext.data.Record
    基本上可以理解为.net中的datarow或者sql server中的一行数据,它存放了数据的定义信息和他们的值
    [公有属性]
    data : Object        数据内容,一个json对象
    dirty : Boolean        是否修改过
    id : Object        惟一ID,默认从1000开始以1剃增
    modified : Object    如果记录没有修改过,为null如果修改过则存放原始值信息
    [公有方法]
    Record( Array data, [Object id] )
    这个构造方法并不用于创建记录对象,相反,应该使用create方法来创建record对象,参数data定义见create方法,id默认递增起始id

    beginEdit() : void
    开始修改

    cancelEdit() : void
    放弃所做的修改,参见commit

    copy( [String id] ) : Record
    //创建当前record的一个克隆值,如果未指定id使用当前id+1

    commit( [Boolean silent] ) : void
    commit方法一般会被Store对象调用而不是recorde本身,提交自创建或最后一次修改后的所有变更,如果silent为真将不会通知store对象


    create( [Array o] ) : function
    静态构造方法 o是config数组
    其中config可以含有如下属性
    {
    name : String     //字段名
    mapping : String //用于reader时的映射关系,如果是用于jsonreader,使用相对当前记录的javascript表达式
            //,如果是用于xmlreader,则是相对于记录的domquery表达式,对于ArrayReader,则是序号
    type:String    //可选值 auto /string/int/float/boolean/date,其中auto是默认值,不进行转换
    sortType : Mixed //排序类型,Ext.data.SortTypes成员之一,参见sortTypes
    sortDir : String  //正序倒序 ASC/DESC值之一
    convert : Function    //转换函数,这个功能很有用,可自定义,接收当前value返回处理后的value
    dateFormat : String    //日期格式化字符串,convert:function的一个特例,使用Date.parseDate方法转换当前日期
    }


    endEdit() : void
    结束修改

    get( name {String} ) : Object
    指定命名字段string的值

    getChanges() : Object
    返回修改记录的对象

    reject( [Boolean silent] ) : void
    和commit相似,当然是拒绝所做的修改

    set( String name, Object value ) : void
    为字段name设定新值value
  • 相关阅读:
    Abp Hangfire 占用 PostgreSql 连接数的另类解决方案
    Git 仓库中文件大小写重命名实践(Windows 环境)
    C# WinForm 文件夹选择控件 folderBrowserDialog 的应用实例
    使用 C# 修改文件创建时间(图片也可修改)
    ABP 在 EntityFramework 中使用扩展批量更新时的异常
    Visual Studio之“生成事件”实践
    博客专家纪念
    深入浅出-应用服务
    如何管理 .NET Core 工具
    深入浅出-可定制仓储设计
  • 原文地址:https://www.cnblogs.com/meetrice/p/1206050.html
Copyright © 2020-2023  润新知