ext获取后台数据展示在gride

ext获取后台数据展示在gride中思路:
(1) 后台获取到json格式的数据返给前台
(2)前台通过回调函数response.responseText获取数据,方式有两种:发送ajax请求和form表的submit
(3)解析,循环把后台获取的数据存储到浏览器缓存localstorage

使用ext发送一个请求后返回一个json串,返回格式为{“参数名”:“实际值”,…},获取json串的方式:
1.发送ajax

Ext.Ajax.request({
url: “…”,
method: “POST”,
params: {
currentID: mainNode.attributes.id
},
success: function (response) {
var resp = Ext.decode(response.responseText );
resp.totalCount;
}
});
2.form表的submit

var form = this.getView().down('form').getForm();
if (form.isValid()) {
    form.submit({
        method: 'POST',
        enctype: "multipart/form-data",
        url: 'rest/testcase/importToExcel',
        waitMsg: '正在上传中...',
        success: function (form, action) {
            var res = action.response.responseText;//获取response{"success":"true","info":[{"Category":"function1"},{"Category":"function2"}]
            var resArray = Ext.decode(res);//把返回的字符串转成对象
           console.log(resArray.success);//true
           console.log(resArray.info);//[{"Category":"function1"},{"Category":"function2"}]
           Ext.Msg.alert('提示', '上传成功');
        },
           failure: function (form, action) {
           Ext.Msg.alert('上传失败', action.result.reason);
        }
    });
}

没有经过转码,获取不到key对应的value值
通过var resArray = Ext.decode(response.responseText);可以把返回的字符串转成对象
然后用 resArray.参数名,就可以直接访问对象了!

你可能感兴趣的:(测开)