我有一个深层的jSon结构来处理,所以我目前直接在Ember模型中实现promises(不依赖于Ember Data)。
如下所示: -
返回Ember。$。getJSON('/ ProcessManager / manage type = submitters& action = getSubmitters')。then(function(data) {
var submitters = [];
$.each(data, function(i, item) {
$.each(item, function(i, item) {
$.each(item, function(i, item) {
Push each submitter into submitter array
submitters.push(item);
});
});
});
return submitters;
});
此URL的示例完整jSON响应如下: -
{ “提交者”:{ “signsubmitter.jar”:{ “SignSubmitter”:{ “描述”:NULL, “名称”: “com.form.custom.submitters.SignSubmitter”, “的JARname”:“signsubmitter。罐 “}},” 定制classes.jar “:{” OutputDirSubmitter “:{” 描述 “:” 写操作 XML到a 目录 “” 名 “:” com.form.custom.submitters.OutputDirSubmitter “ ”的JARname“: ”定制classes.jar“}, ”XMLResponseSubmitter“:{ ”说明“:” 返回 XML文件到 客户端 “” 名 “:” com.form.custom.submitters.XMLResponseSubmitter “ ”的JARname“: ”定制classes.jar“}, ”ChainProcess“:{ ”说明“:” 产业链 输出文件到另一个 过程 “” 名称 “:” com.form.custom.submitters.ChainProcess”, “的JARname”: “定制classes.jar”}}}, “成功”:真}
我已阅读此网址:http://emberjs.com/guides/models/connecting-to-an-http-server/
我想知道人们对使用此类数据过渡到Ember Data的意见。
谢谢。
答案 0 :(得分:1)
我一直在使用深度嵌套记录集的ember数据一段时间了,我非常喜欢它。根据我对您提供的信息的理解,它应该可以正常工作。理想情况下,您应该能够以ember期望see side loaded relationships here的格式定义JSON。如果你做对了,那么大多数事情都没问题。最初我因为错误的套管而花费了很多沮丧的时间,而且很多doco已经过时且显示不正确的外壳 - 这是你必须自己解决的问题 - 但是如果你得到奇怪的无意义错误那么套管可能是问题。
如果您无法更改服务器JSON,则可以简单地覆盖RESTAdapter和RESTSerializer以满足要求。这也很简单而且有效。
Ember数据对我来说效果很好,可以满足我的需要。
Ember旨在使用promises并加载深层嵌套的记录集,这些promises解决的顺序非常重要。这里有关于如何实现这一目标的足够信息。