Extjs与后台交换数据时,很大程度上依赖于底层实现的AJAX,下面就回顾下工作中最常用的异步请求。
Ext.Ajax:
基本用法如下:
Ext.Ajax.request({
url : __ctxPath+ "/admin/allowUpdaterConfPrivilege.do",
params : {
confId : e
},
waitMsg : "数据正在提交,请稍后...",
method : "post",
success : function(h, j) {
var i = Ext.util.JSON.decode(h.responseText);
if (i.success) {
new ConferenceForm({
confId : e
}).show();
} else {
Ext.MessageBox.show({
title : "操作信息",
msg : i.msg,
buttons : Ext.MessageBox.OK,
icon : "ext-mb-error"
});
}
var g = Ext.getCmp("displayUserPhoto");
if (f.value == 1) {
g.body.update('<img src="'+ __ctxPath
+ '/images/default_image_male.jpg" width="100%" height="100%"/>');
} else {
g.body.update('<img src="'+ __ctxPath+ '/images/default_image_female.jpg" width="100%" height="100%"/>');
}
}
});
url:指定请求地址,params:指定一个或者多个参数,waitmsg:显示等候指示条
method:配置http请求方式 g.body.update用于局部更新组件的内容
var i = Ext.util.JSON.decode(h.responseText);
上局代码将普通的json格式的字符串解析成js可以直接使用的json对象,然后要访问json格式中的字段,就直接使用i.key,即可以方便的操作后台返回的数据。