使用MooTools处理JSON-RPC响应的最佳方法是什么

时间:2011-06-27 09:31:05

标签: javascript json mootools rpc

我想使用JSON-RPC为Web服务生成代码。生成的代码将为客户端提供生成的方法。在传统的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]});
    },

正确处理响应的最佳方法是什么?我应该为每种方法都有一个事件吗?我应该使用id来识别呼叫吗? MooTools的方法是什么?

1 个答案:

答案 0 :(得分:0)

我会扩展Request.JSON,覆盖send和complete / success方法,我将调度解析this.data.methodname的事件,以便在父类Service中提供它,在那里你可以将它冒泡到Service实例,如果你必须的话。