首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不位于JSON响应根级的数组的Dojo JsonRestStore

不位于JSON响应根级的数组的Dojo JsonRestStore
EN

Stack Overflow用户
提问于 2015-01-05 23:12:39
回答 2查看 237关注 0票数 0

是否有一种方法可以将JsonRestStore配置为使用现有的web服务,该服务在JSON响应的根级返回对象数组,即而不是

我的JSON响应当前类似于以下内容:

代码语言:javascript
复制
{
    message: "",
    success: true,
    data: [
        { name: "Bugs Bunny", id: 1 },
        { name: "Daffy Duck", id: 2 }
    ],
    total: 2
}

我需要告诉JsonRestStore,它将在"data“下找到行,但是我无法通过查看文档找到这样的方法。模式似乎是一种可能性,但我无法通过文档(或者我在Google中找到的)来理解它。

我的web服务以Ext中存储的格式返回数据,但我现在不能重构价值多年的web服务(通过HTTP头而不是查询字符串值处理分页可能也很有趣,但这是另一天的问题)。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-27 04:01:10

虽然它在API文档中很少被调用,但是在dojox/data/JsonRestStore中有一个名为_processResults的内部方法,它恰好可以用于此目的。它接收服务返回的数据和从请求中推断出来的原始数据,并期望返回包含itemstotalCount的对象。

根据你上面的数据,像这样的东西应该能起作用:

代码语言:javascript
复制
var CustomRestStore = declare(JsonRestStore, {
    _processResults: function (results) {
        return {
            items: results.data,
            totalCount: results.total
        };
    }
});
票数 2
EN

Stack Overflow用户

发布于 2015-01-07 12:02:52

dojo/store的思想是提供参考存储,但它们是为了定制以匹配您想要的任何数据格式。例如,https://github.com/sitepen/dojo-smore有一些额外的存储(例如,处理Csv数据的存储)。这些存储为如何处理在不同结构下提供的数据提供了很好的示例。

还有一个新的dstore项目,http://dstorejs.io/,它将最终取代Dojo 2中的dojo/store,但今天对Dojo1.x起作用。这对于创建与数据结构相匹配的自定义存储可能更容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27789533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档