相同點:都屬于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的一個敗筆呀!!!