Вот как сделать JSON RPC-вызов в jQuery:
$.ajax({url: "bin/controller.py",
type: "POST",
contentType: "application/json",
data: JSON.stringify({"jsonrpc": "2.0",
"method": "echo", "params": ["hello",], "id": 1,
}),
dataType: "json",
success: function(response) {
alert(response.result);
},
});
Должен быть методом HTTP POST, чтобы мы могли отправлять данные.
На самом деле данные должны быть строкой в кодировке JSON. Если вы передадите объект, jQuery.ajax
будет URL-кодировать его так же, как и для сообщения формы (т.е. "method = echo & params = ..."). Итак, используйте JSON.stringify
для его сериализации и установите contentType
на "application/json"
, чтобы показать, что мы отправляем JSON вместо "application/x-form-urlencoded"
.
Установка dataType: "json"
просто говорит jQuery о десериализации возвращаемых данных (также, конечно, в формате JSON), чтобы мы могли обращаться к ним как к объекту.