[轉載]EXT核心API詳解Ext.data(八)- Connection/Ajax/Record javascript

來源:互聯網
上載者:User
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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.