在ExtJS中,如何在字段集中列出来自JSON数据的多个返回?

时间:2011-04-25 17:12:49

标签: ajax json extjs fieldset

好的,我是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);

我很难理解如何处理这个问题。我是否需要像网格一样创建数据存储?或者有更简单的方法吗?

感谢任何帮助!提前谢谢。

1 个答案:

答案 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'}
           }
         ]
  ]
}