2

下一步:gae/py 应用程序的 ajax 前端。

我的应用程序只有基本的 html 版本,可以与数据存储交互并每次更新页面。没关系,但现在它需要ajax。我尝试了一些解决方案:基本的 javascript、jquery 的 ajax API 和一些框架。

我想我在 knockoutjs 中找到了我想要的一切,但是这个框架通过 json 格式与服务器交互。这意味着我需要学习 json 库并重写所有处理程序,以便在 json 中获取和发布。我可以开始这项任务,但在我想了解更多关于 ProtoRPC API 的内容之前。

文档说这个 API 对于“创建结构化的 Ajax 后端”也很有用,如果我理解得很好,响应的消息是 json 格式的。我的问题是:

ProtoRPC API 消息使用 json 是真的吗?

所有请求/响应都通过 ProtoRPC 会是一个问题吗?

实现服务器端可靠的 ProtoRPC 服务并使用客户端框架是一个好策略吗?

4

2 回答 2

5

ProtoRPC附带其传输协议的 JSON 实现。

您应该能够使用 ProtoRPC 构建服务器端逻辑,并使用 JSON 编码的消息向 API 端点发出 HTTP 请求,如官方文档中的ProtoRPC 概述中所述。

Knockoutjs 不应该成为阻碍,因为文档声明它不会强迫您使用任何一种特定技术来加载或保存数据

于 2012-06-06T14:41:08.957 回答
2

我只想提一点关于从客户端使用 ProtoRPC 的小问题,因为那里还没有完全开发的客户端。让 ProtoRPC 使用 Json 的主要方法是确保您的请求内容类型为“application/json”。否则,ProtoRPC 可能会尝试使用二进制 protobuf 格式。

此外,ProtoRPC 的文档有点过时了。这些示例显示了将 ProtoRPC 与基于 webapp 的请求处理程序一起使用。相反,您应该使用较新的基于 wsgi 的处理程序,尤其是在您使用 Python 2.7 时。

WSGI 处理程序内置在 ProtoRPC 中,源代码在这里:

http://code.google.com/p/google-protorpc/source/browse/python/protorpc/wsgi/service.py#211

它的工作方式与 webapp 处理程序非常相似,只是将它与现有的基于 webapp 的应用程序一起使用有点小技巧。

于 2012-06-06T19:50:43.287 回答