Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ext.js从json构建模型关系时遇到的问题_Javascript_Json_Extjs_Model_Extjs4 - Fatal编程技术网

Javascript Ext.js从json构建模型关系时遇到的问题

Javascript Ext.js从json构建模型关系时遇到的问题,javascript,json,extjs,model,extjs4,Javascript,Json,Extjs,Model,Extjs4,在我的项目中,我需要创建一个调查问卷(表格)。这些问题根据类别动态生成,并且在服务器上、数据库中。 为了获取问题,使用了RESTAPI,因此向/getquestions/1发送请求将返回一个JSON,其中包含表单生成所需的所有数据 JSON如下所示: { "questions":[ { "id":4, "text":"Question1", "type":"NUMBER", "

在我的项目中,我需要创建一个调查问卷(表格)。这些问题根据类别动态生成,并且在服务器上、数据库中。 为了获取问题,使用了RESTAPI,因此向/getquestions/1发送请求将返回一个JSON,其中包含表单生成所需的所有数据

JSON如下所示:

{
    "questions":[  
        {  
           "id":4,
           "text":"Question1",
           "type":"NUMBER",
           "mandatory":true,
           "visible":true
        },
        {  
           "id":5,
           "text":"Dropdown type question",
           "type":"DROPDOWN",
           "mandatory":true,
           "visible":true,
           "values":[  
              {  
                 "id":1,
                 "text":"Answer1",
                 "selected":false
              },
              {  
                 "id":2,
                 "text":"Answer2",
                 "selected":false
              }
           ]
        },
        {  
           "id":7,
           "text":"Question 3 as Radio",
           "type":"RADIO",
           "mandatory":false,
           "visible":false,
           "values":[  
              {  
                 "id":1,
                 "text":"Yes",
                 "selected":false
              },
              {  
                 "id":2,
                 "text":"No",
                 "selected":false
              }
           ],
           "dependencies":{  
              "mark_visible":[  
                 {  
                    "question_id":5,
                    "operation":"=",
                    "value":2
                 }
              ],
              "mark_mandatory":[  
                 {  
                    "question_id":5,
                    "operation":"=",
                    "value":2
                 },
                 {  
                    "question_id":4,
                    "operation":"<=",
                    "value":5000
                 }
              ]
           }
        }
     ]
  }
{
“问题”:[
{  
“id”:4,
“文本”:“问题1”,
“类型”:“编号”,
“强制性”:正确,
“可见”:真实
},
{  
“id”:5,
“文本”:“下拉式问题”,
“类型”:“下拉列表”,
“强制性”:正确,
“可见”:真实,
“价值”:[
{  
“id”:1,
“文本”:“答复1”,
“选定”:false
},
{  
“id”:2,
“文本”:“回答2”,
“选定”:false
}
]
},
{  
“id”:7,
“案文”:“问题3作为电台”,
“类型”:“收音机”,
“强制性”:错误,
“可见”:假,
“价值”:[
{  
“id”:1,
“文本”:“是”,
“选定”:false
},
{  
“id”:2,
“文本”:“否”,
“选定”:false
}
],
“依赖项”:{
“标记_可见”:[
{  
“问题编号”:5,
“操作”:“=”,
“价值”:2
}
],
“mark_必填项”:[
{  
“问题编号”:5,
“操作”:“=”,
“价值”:2
},
{  
“问题编号”:4,

“操作”:“要从JSON数据填充模型及其关联,您需要让它经过一个读卡器类(例如,
Ext.data.JsonReader
),在该类中它将向下移动“树”,创建关联

如果您是通过代理加载,这应该会自动发生(因为它默认使用读取器)。如果您的JSON来自AJAX调用,并且您正在使用
Ext.create
调用创建模型实例,那么您需要自己执行读取器位。例如:

var data = [...];

var reader = Ext.create('Ext.data.JsonReader', {
        model: 'MyModel'
});

var resultset = reader.readRecords(data);

console.log(resultset.getRecords()[0]); // logs first read record