Javascript 加载json数据后,extjs4表单仍然为空
我开始疯狂使用extjs4和表单加载。 在我的struts应用程序中,我有一个简单的表单,我想加载JSON数据 问题是数据从服务器正确加载,但从未显示 代码如下:Javascript 加载json数据后,extjs4表单仍然为空,javascript,forms,load,extjs4,Javascript,Forms,Load,Extjs4,我开始疯狂使用extjs4和表单加载。 在我的struts应用程序中,我有一个简单的表单,我想加载JSON数据 问题是数据从服务器正确加载,但从未显示 代码如下: Ext.onReady(function(){ var formPanel = Ext.create('Ext.form.Panel', { renderTo: Ext.get('categoryForm'), width: 340, bodyPadding: 5, waitMsgTarget: tr
Ext.onReady(function(){
var formPanel = Ext.create('Ext.form.Panel', {
renderTo: Ext.get('categoryForm'),
width: 340,
bodyPadding: 5,
waitMsgTarget: true,
url: '<s:url value="json/save" />',
method: 'POST',
loader: {
type: 'json',
root: 'category',
successProperty: 'success'
},
fieldDefaults: {
labelAlign: 'right',
labelWidth: 85,
msgTarget: 'side'
},
defaultType: 'textfield',
items: [{
name: 'category.id',
hidden: true
}, {
fieldLabel: "<s:text name="category.label"/>",
name: 'label',
allowBlank: false,
maxLength: 35
}, {
fieldLabel: "<s:text name="category.description"/>",
name: 'description',
xtype: 'textarea',
maxLength: 250
}, {
fieldLabel: '<s:text name="category.creationDate"/>',
name: 'creationDate',
xtype: 'datefield',
readOnly: true
}],
buttons: [{
text: "<s:text name="action.modify"/>",
handler: function() {
formPanel.getForm().submit();
}
}, {
text: "<s:text name="action.cancel"/>",
handler: function() {
formPanel.getForm().reset();
}
}]
});
formPanel.show();
formPanel.load({
url: '<s:url action="json/load"/>',
params: {
categoryId: <s:property value="categoryId"/>
}
});
});
最后我找到了问题所在 JSON响应必须包含“data”属性而不是“category”
替换属性并填写表单。是否没有js错误?因为我认为“name:'category.id',”会导致js错误,因为json根目录是category,所以name应该是'id',这是一个先例尝试中的错误。没有js错误。我删除了它,没有任何变化,我的表单是空的。
{
"category":
{
"creationDate": "2012-04-14T22:29:52",
"description":"description",
"id":1,
"label":"Toto"
},
"errorMessage":null,
"success":true
}