Json Rpc回调函数

时间:2012-01-10 03:54:05

标签: javascript callback jsonp json-rpc

如何将Json Rpc数据传递给指定的回调函数,就像Json一样。 您可以通过在URL中指定回调参数来获取响应数据。

例如:

var url = "http://...sample/..?alt=new&callback=dispUser";
var script = document.createElement('script');
script.src = url;
document.body.appendChild(script); 

然后结果将是这样的

dispUser({         “ID”: ”” });

但在Json Rpc我不能,有没有办法通过声明回调来获取Json Rpc的响应数据。如果没有,我将如何在客户端显示这些数据。因为我只能使用Json Rpc或SOAP XML获得这些api服务,这就是文档所说的内容。

1 个答案:

答案 0 :(得分:2)

您的示例是JSONP样式。以下是JSON-RPC样式的示例:

var mathService;

function init() {
    mathService = RPC.consume('http://foo.bar/mathematics.smd', mathReady);
}

function mathReady() {
    mathService.cuberoot(9, function(root) {
        $('#example_output').html(root);
    });
}

window.onload = init;

如果JSON-RPC服务没有通过SMD描述自己,你可能会写这样的东西:

function init() {
    RPC.callMethod('http://foo.bar/mathematics.php', { 
        method: 'cuberoot', 
        params: [ 9 ]
    }, function(error, result) {
        $('#example_output').html(result);
    });
}

window.onload = init;

从JavaScript客户端(例如浏览器)执行JSON-RPC有很多库,每个库在调用约定时可能略有不同。