我想使用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的方法是什么?
答案 0 :(得分:0)
我会扩展Request.JSON,覆盖send和complete / success方法,我将调度解析this.data.methodname
的事件,以便在父类Service中提供它,在那里你可以将它冒泡到Service实例,如果你必须的话。