Каков наилучший способ обработки ответа JSON-RPC с помощью MooTools - PullRequest
0 голосов
/ 27 июня 2011

Я хочу сгенерировать код для веб-службы, используя JSON-RPC. Сгенерированный код предоставит сгенерированные методы для использования клиентом. В традиционном JavaScript, я думаю, можно было бы использовать обратные вызовы, назначенные каждому методу, но я не уверен, как это сделать надлежащим образом MooTools.

var Service = new Class({
Implements: [Options, Events],
options: {
    url: 'http://localhost/lol/JSON',
    ...
    send: function(opts) {
        var JSONrpc = new Request.JSON({
         ...
        });

    JSONrpc.send(JSON.encode({'method': opts.methodname || this.options.methodname, 
                              'params': opts.params || this.options.params}));
},
    ...
    //The methods to be generated
    loginUser: function(username, password) {       
        this.send({'methodname': 'loginUser', 'params': [username, password]});
    },
    logoffUser: function(username) {
            this.send({'methodname': 'logoffUser'});
    },
    getProfile: function(username) {
       this.send({'methodname': 'getProfile', 'params': [username]});
    },

Каков наилучший способ правильно обработать ответ? Должен ли я иметь событие для каждого метода? Должен ли я использовать идентификатор для идентификации вызова? Как это можно сделать с помощью MooTools?

1 Ответ

0 голосов
/ 27 июня 2011

Я бы расширил Request.JSON, переопределяя методы send и complete / success, где я буду отправлять события, которые анализируют this.data.methodname, чтобы вы были доступны в родительском классе Service, где вы можете передать его экземплярам Service, еслиты должен.

...