天天看點

ExtJS中Ext.Ajax.request與form1.getForm().submit的基本差別

相同點:都屬于Ajax送出方式!

不同點:Ext.Ajax.request是Ext.data.connection的一個執行個體

form1.getForm().submit是BasicForm的一個實作方式

使用上的差別:

1.form1.getForm().submit常用在表單送出的時候,就是說要送出頁面資料,比如新增和修改資料頁面

2.Ext.Ajax.request常用在根據參數送出的時候,比如删除,我們把頁面選中的ID進行周遊,封裝在一個Array中,作為一個參數做Ajax的送出

例子:

首先是form1.getForm().submit的例子:

function formSubmit(){

if (form1.getForm().isValid()) {

form1.getForm().submit({

waitTitle : '提示',//标題

waitMsg : '正在送出資料請稍後...',//提示資訊

url : 'eidtBooktype.action',

method : 'post',

params : 'booktype',

success : function(form, action) {

var flag=action.result.msg;

window.returnValue='SUCC';

Ext.Msg.alert('提示',flag,function(){

window.close();

});

},

failure : function(form,action) {

var flag=action.result.msg;

Ext.Msg.alert('操作', flag);

}

});

}

}

其次是一個Ext.Ajax.request的例子:

Ext.Ajax.request({

url : 'deleteBooktypes.action',

method : 'post',

params : {delids:deleteids.toString()},

success : function(form,action) {

//alert(response.responseText); //傳回的json值的字元串

var respText = Ext.util.JSON.decode(form.responseText); //吧字元串變為json格式

var msg=respText.msg;

Ext.MessageBox.alert('提示',msg,function(){

bookTypeStore.reload();

});

},

failure : function(response,options) {

var respText = Ext.util.JSON.decode(response.responseText); //吧字元串變為json格式

var msg=respText.msg;

Ext.MessageBox.alert('提示',msg,function(){

bookTypeStore.reload();

});

}

});

使用是的差別:

最明顯就是success和failure時候function的參數啦!

Ext.Ajax.request的function(response,options), option非常有用,用 response.responseText 獲得傳回參數,注意這個地方的 response參數可以換成a ction

form1.getForm().submit的function(form, action), action很有用,用 action.result.msg獲得 傳回值

還有個最明顯差別是Ext.Ajax.request不可以用 waitMsg ,真是Ext的一個敗筆呀!!!