Заставьте JSON-RPC плагин jQuery работать с GAE ProtoRPC - PullRequest
2 голосов
/ 29 апреля 2011

Я пытаюсь заставить эти две библиотеки работать вместе.Но я не уверен, что они могут подключиться из коробки.Перед использованием плагина JSON-RPC я сделал это успешно со стандартной функциональностью $.ajax.Не могли бы вы дать мне краткий пример того, как должна выглядеть функция на стороне клиента, и точки входа для этого на стороне GAE.

Или, может быть, должна быть специальная библиотека ProtoRPC jQuery, созданная для облегчения этой работы?

Домашняя страница плагина JSON-RPC

Ответы [ 3 ]

4 голосов
/ 29 апреля 2011

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 для этого? Я не уверен, что это может стать намного проще.

3 голосов
/ 29 апреля 2011

Нам определенно нужно разработать универсальную библиотеку protorpc для пользователей.После этого было бы лучше написать плагин jquery, который будет работать с ним.

Я на самом деле думал о том, чтобы ProtoRPC мог поддерживать JSON-RPC как отдельный протокол, однако в JSON могут быть некоторые вещи-RPC, которые делают его несовместимым с ProtoRPC.Две вещи:

  • Запросы JSON позволяют получить список произвольных типов в своих параметрах.ProtoRPC принимает один четко определенный тип.

  • Поля и списки JSON могут содержать произвольные типы.Поля и списки ProtoRPC могут содержать только один тип.

Хотелось бы, чтобы у меня был лучший ответ для вас.

0 голосов
/ 03 мая 2011

Я работаю над той же идеей и опубликовал аналогичный вопрос здесь .

Я обнаружил, что ProtoRPC действительно дает JSON-ответ, если ваш запрос имеет ContentType application / json,и jqGrid выдаст это, если вы включите ajaxGridOptions: {contentType: 'application / json;charset = utf-8 '}, в ваших параметрах сетки, но это все еще оставляет проблему в том, что ProtoRPC принимает только один четко определенный параметр, в то время как jqGrid по умолчанию пытается загрузить 5 или около того параметров в формате URL, даже если вы установили егоPOST вместо GET.

В настоящее время я пытаюсь использовать плагин grid.postext.js, чтобы обойти это, пока безуспешно.

...