好的,我是ExtJS的半新手,我正在构建一个具有网格中列出的“输入”的程序,而在我的DB中,这些输入可以链接到“症状”。
我正在尝试创建一个函数,该函数将接收输入的id并从数据库中获取链接到该症状的所有症状,并将它们列在字段集中。
当我点击仅链接到一个症状的输入时,它工作正常,但如果输入链接到多个症状,则错误显示..“无效属性ID”
这就是我的功能。
function listSymptoms(inputID){
Ext.Ajax.request({
url: "../../inc/project4.php?list=symptoms",
reader: new (Ext.data.JsonReader)({
root: "symptoms",
inputid: "id"
}),
params: {
inputid: inputID
},
method: "POST",
success: function (f, a){
var jsonData = Ext.util.JSON.decode(f.responseText);
symptomsFieldSet.body.update(jsonData.data.name);
},
failure: function (f,a){
Ext.Msg.alert('There was a problem opening your message.');
}
});
}
当用户点击网格中的一个输入时,我有传入函数的inputID。
我相信我的问题与这条线有关..
symptomsFieldSet.body.update(jsonData.data.name);
我很难理解如何处理这个问题。我是否需要像网格一样创建数据存储?或者有更简单的方法吗?
感谢任何帮助!提前谢谢。
答案 0 :(得分:0)
我认为您需要重新考虑JSON响应对象的结构。您可以在JSON回复中将此信息发送给您的请求。如果您使用Ext.util.Ajax调用表单的instad,则需要使用util方法Ext.util.JSON.decode()解码此JSON响应字符串。查看API Documentation
{
success: true,
msg: {text: 'this can be used for error message handling' },
data : [
{id:1,
chiefComplaint: 'head hurts',
symptoms: [
{symptomID: '740.1', text: 'Headache'},
{symptomID: '12352135'. text: 'and so on'}
}
]
]
}