请问关于Ext对数据进行edit操作时的初始化问题

一般edit的时候,会把之前所有的值都显示在页面上对吧,这些值是怎么传过来的啊?我用JSON传过来觉得好怪异,要写的东东好多,总觉得应该有简单一点的办法的吧?
[b]问题补充:[/b]
我目前是这样在弄,感觉写得好麻烦……不知道高人们都是怎么弄的呢?
[code="javascript"]
Ext.Ajax.request({//AJAX请求,获取各初始化值
url: '/pop_unit/get_ini_value/foo.json',
params: {'pop_unit_id': params_id},
success: function(response,options){
var obj= Ext.decode(response.responseText)[0];
Ext.get('submit[area_id]').dom.value = obj.cur_area_id;
Ext.get('area_id').dom.value = obj.cur_area_name;
prvc_store.proxy = new Ext.data.HttpProxy({
url: '/pop_unit/get_prvc/a.json?area_id=' + obj.cur_area_id//初始化的area值传给prvc的store
});
Ext.get('submit[prvc_id]').dom.value = obj.cur_prvc_id;
Ext.get('prvc_id').dom.value = obj.cur_prvc_name;
city_store.proxy = new Ext.data.HttpProxy({
url: '/pop_unit/get_city/a.json?prvc_id=' + obj.cur_prvc_id//初始化的prvc值传给city的store
});
Ext.get('submit[city_id]').dom.value = obj.cur_city_id;
Ext.get('city_id').dom.value = obj.cur_city_name;

    Ext.getCmp('name').setValue(obj.name);
    Ext.getCmp('addr').setValue(obj.addr);
    Ext.getCmp('postcode').setValue(obj.postcode);
    Ext.get('submit[pu_sort]').dom.value = obj.pu_sort_id;
    Ext.get('pu_sort').dom.value = obj.pu_sort_name;
    Ext.getCmp('site').setValue(obj.site);
    Ext.getCmp('comment').setValue(obj.comment);
  },
  failure: function(){
    Ext.Msg.alert('错误','你的网貌似有问题,所以不能编辑这个,请刷新再说……');
  },
  method: 'GET'
});

[/code]

我也是一个一个赋值的。FORM,又不是GRID...GRID可以设置一下STORE就行了。

因为你对JSON不熟而已,用多了就会觉得JSON是多么完美。

AJAX+JSON。。。最完美的组合。最大的好处在于,非常节省资源!!!只传最核心的数据,其它页面元素不用传,节省带宽。