Сделайте рабочую плагин JSON-RPC JQUERY с GAE ProTorpc
-
27-10-2019 - |
Вопрос
Я пытаюсь заставить эти две библиотеки работать вместе. Но я не уверен, что они могут подключиться из коробки. Перед использованием плагина JSON-RPC я сделал его успешно со стандартным $.ajax
функциональность. Не могли бы вы привести мне короткий пример того, как должна выглядеть функция на стороне клиента, и точку входа для этого на стороне GAE.
Или, может быть, должна быть специальная библиотека Protorpc JQUERY, созданная, чтобы сделать эту работу легко?
Решение
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 для этого? Я не уверен, что это может стать намного проще.
Другие советы
Нам определенно нужно разработать библиотеку Protorpc общего назначения для пользователей. После этого было бы лучше написать плагин jQuery, который работает с ним.
Я на самом деле думал о том, чтобы получить способ для Protorpc поддержать JSON-RPC в качестве отдельного протокола, однако в JSON-RPC могут быть некоторые вещи, которые делают его несовместимым с ProTorpc. Две вещи:
Запросы JSON допускают список произвольных типов в своих параметрах. Protorpc принимает один четко определенный тип.
Поля и списки JSON могут содержать произвольные типы. Поля и списки Protorpc могут содержать только один тип.
Хотел бы я получить лучший ответ для вас.
Я работаю над той же идеей и опубликовал аналогичный вопрос здесь.
Я обнаружил, что Protorpc действительно дает ответ JSON, если ваш запрос имеет ContentType Application/json, и JQGrid будет создавать это, если вы включите AjaxGridoptions: {ContentType: 'Application/json; charset = utf-8 '}, в вариантах сетки, но это все же оставляет проблему, которую Protorpc принимает только один четко определенной параметр, в то время как JQGrid по умолчанию пытается загрузить 5 или около того параметров, даже когда вы устанавливаете его на Публиковать вместо получения.
В настоящее время я пытаюсь использовать плагин grid.postext.js, чтобы обойти это, до сих пор без успеха.