天天看点

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的一个败笔呀!!!