服务器端存储在nodejs中(将在Dojo中使用)



我正在编写这个很棒的应用程序。这是我第一次尝试编写一个只在另一端使用Restful存储的单页完整AJAX应用程序。

现在。。。我编写了一些代码,到目前为止,我只需要使用GET进行简单的查询。然而,为了保持一切整洁,我确保我有一个"协议":每个请求都有一个格式为的响应

{↵ "ack": "ERROR", "message": "required filter not passed",↵ "errors": { "name": "parameter required"↵ } }

如果出现错误(在这种情况下,我要求用户设置一个过滤器)。

现在。。。如果GET确实有效,我还有一个"数据"字段,结果如下所示:

{↵ "ack": "OK", "data": { ... } }

现在我在Dojo方面遇到了问题,因为例如dgrid希望数据在返回对象的"根"(可以这么说)中,而不是"数据"键中。

可能的解决方案:

1) 破解我的JsonRest文件(它已经有点不同了,我添加了超时等,它毕竟是一个样板),这样,对于"查询",它实际上用then()处理结果,并返回原始数据

2) 更改我的协议,这样,如果HTTP状态为200,并且由于没有错误消息或任何要发出的信息,它只会返回数据

3) 以某种方式说服所有小部件在查询后使用返回JSON的"数据"部分中的内容(这似乎不太可能)。

我该走哪条路?一方面,我喜欢协议一直遵循相同的格式(尽管我承认这是无用的)。另一方面,更改JsonRest似乎很容易。但是,第三方API可能不喜欢从返回对象的"data"键中提取数据。。。

在这里做什么才是明智之举?

谢谢!

Merc。

我还没有尝试过,但文档表明,如果JsonRest查询生成HTTP错误代码,xhr错误对象将一直传递到dgrid,并且是与dgrid错误事件相关联的数据之一。

dgrid核心组件
dgrid问题提及查询错误

如果这是正确的,那么我会选择解决方案2,因为它只需要对标准组件进行最少的修改,并且只使用所提供的API。

相关内容

最新更新