2012-01-10 11 views
1

Jsonのように、Json Rpcデータを指定のコールバック関数に渡すにはどうすればよいですか。 urlにコールバックパラメータを指定することで、応答データを取得できます。例えばJson Rpcコールバック関数

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の応答データを取得する方法はありません。これらのデータをクライアント側にどのように表示すればよいのでしょうか。私はこれらのAPIサービスをJson RpcまたはSOAP XMLを使用して取得することしかできないため、ドキュメントで説明しています。

+0

あなたは_json-rpc_ではなく_jsonp_を考えていますか? –

答えて

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を実行するためのライブラリで、それぞれが呼び出し規約で若干異なる場合があります。

+0

多くのエラーが修正されました: - / –