2

我试图让这两个库一起工作。但我不确定他们是否可以开箱即用地连接。$.ajax在使用 JSON-RPC 插件之前,我使用标准功能成功完成了它。您能否给我一些简短的示例,说明客户端函数的外观以及 GAE 端的入口点。

或者也许应该创建一个特殊的 ProtoRPC jQuery 库来轻松完成这项工作?

JSON-RPC 插件主页

4

3 回答 3

4

ProtoRPC 不使用 JSON-RPC 消息格式。它使用一种更简单的格式,其中每个 API 方法都提供自己的端点,而不是一个将方法名称作为请求字典一部分的端点。

这是他们提供的示例$.ajax

$.ajax({url: '/hello.hello',
          type: 'POST',
          contentType: 'application/json',
          data: '{ my_name: Bob }',
          dataType: 'json',
          success: function(response) {
            // The response is { hello: "Hello there, Bob!" }
            alert(response.hello);
          }
         });

你真的需要一个特殊的 jQuery 库吗?我不确定它会变得更简单。

于 2011-04-29T10:19:24.357 回答
3

我们肯定需要为用户开发一个通用的 protorpc 库。之后,最好编写一个与之配合使用的 jquery 插件。

我实际上想过让 ProtoRPC 支持 JSON-RPC 作为单独的协议,但是 JSON-RPC 可能有一些事情使它与 ProtoRPC 不兼容。两件事情:

  • JSON 请求允许在其参数中包含任意类型的列表。ProtoRPC 采用一个定义良好的类型。

  • JSON 字段和列表可能包含任意类型。ProtoRPC 字段和列表只能包含一种类型。

我希望我有一个更好的答案给你。

于 2011-04-29T19:10:06.427 回答
0

我正在研究相同的想法,并在此处发布了类似的问题。

我发现如果您的请求具有 ContentType application/json,ProtoRPC 确实会给出 JSON 响应,如果您包含 ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },在您的网格选项中,但这仍然存在 ProtoRPC 仅接受一个明确定义的参数的问题,而 jqGrid 默认情况下会尝试上传 5 个左右 url 格式的参数,即使您将其设置为POST 而不是 GET。

我目前正在尝试使用 grid.postext.js 插件来解决这个问题,到目前为止没有成功。

于 2011-05-03T12:07:08.667 回答