Ext Json读取数值问题

kkobebryant 2016-06-03 05:35:34
var taskStore = Ext.create("Gnt.data.TaskStore", {
model : 'Gnt.model.Task',
autoLoad : true,

proxy : {
type : 'ajax',
method : 'GET',
//url : '/gantt/gantt-print/tasks.js',
url : '/ganttReport/getProjectJson.jsp?key='+mkey,
reader : {
type : 'json'
}
}
});

alert(taskStore.StartDate); //无法取得值,请问Ext 是怎么访问返回的json对象值的?

[{"Responsible":"","Name":"123","BaselinePercentDone":0,"EndDate":"2016-06-02","StartDate":"2016-05-27","BaselineEndDate":"2016-06-02","PercentDone":0}] //返回的json值
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
NANU-NANA 2016-06-06
  • 打赏
  • 举报
回复
引用 3 楼 kkobebryant 的回复:
[quote=引用 2 楼 u010087908 的回复:] 这是一个timing problem。 你执行alert的时候,store还未完成数据的加载,(数据传输是需要时间的)。 可是使用load的callback:
store.load ( {
      callback: function(records, operation, success) {
      alert(records);
    }
} );
请问要访问records里的 元素应该怎么写? 比如里面的JSON属性StartDate[/quote] records 是一个array
store.load ( {
      callback: function(records, operation, success) {
      for( var i = 0; i < records.length; i++ )
           console.log(records[i].StartDate);
    }
} );
kkobebryant 2016-06-04
  • 打赏
  • 举报
回复
引用 2 楼 u010087908 的回复:
这是一个timing problem。 你执行alert的时候,store还未完成数据的加载,(数据传输是需要时间的)。 可是使用load的callback:
store.load ( {
      callback: function(records, operation, success) {
      alert(records);
    }
} );
请问要访问records里的 元素应该怎么写? 比如里面的JSON属性StartDate
NANU-NANA 2016-06-03
  • 打赏
  • 举报
回复
这是一个timing problem。 你执行alert的时候,store还未完成数据的加载,(数据传输是需要时间的)。 可是使用load的callback:
store.load ( {
      callback: function(records, operation, success) {
      alert(records);
    }
} );
Go 旅城通票 2016-06-03
  • 打赏
  • 举报
回复
store是异步ajax,要放到load事件中获取

http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.data.Store-method-getAt
http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.data.Model-method-get


  var taskStore = Ext.create("Gnt.data.TaskStore", {
model: 'Gnt.model.Task',
autoLoad: true,

proxy: {
type: 'ajax',
method: 'GET',
//url : '/gantt/gantt-print/tasks.js',
url: '/ganttReport/getProjectJson.jsp?key=' + mkey,
reader: {
type: 'json'
}
},
listeners: function () {
alert(taskStore.getAt(0).get('StartDate'))/////////////////////
}
});

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧