1

$.getJsonリクエストの結果から呼び出し元の関数にコンテンツを返す場合のベストプラクティスは何ですか?$.fn.getSomeData内部に呼び出しがあるという関数が$.getJsonあります(この関数は、JSPがWebサービスを使用するためにインポートする必要があるJSファイルにあります)。

次に、呼び出し元のJSP内で、関数が私の関数を呼び出し$.fn.getSomeDataます。

私の$.getjsonリクエストは非同期であるため、JSONの処理について考える前に、コールバック関数が実行されるのを待つ必要があります。結果のデータを呼び出し元のJSPの関数に渡す処理を行うための最良の方法は何ですか。

$.fn.getSomeDataメソッドにDivを渡し、$。getJsonコールバック関数でjsonの処理を行い、表示したいとおりにDivに追加するなど、私が読んだ他のオプション。

2番目のオプションは、関数をに渡すことでした$.fn.getSomeData。この関数は、$.getjsonコールバック関数で呼び出すことができます。

誰かがベストプラクティスを推奨できますか?$.fn.getSomeData外部JSファイルの結合を減らしたいので、関数にDivを渡すオプションを使用したくありません。

また、JSPからの呼び出しにコールバック関数を追加する方法はありますか?コールバックが実行される$.fn.getSomeDataと、何らかの形でトリガーされますか?$.getjson

あなたの提案を聞くのを楽しみにしています。

4

1 に答える 1

1

2番目のバージョンはあなたが望むものです。

getJsonリクエストの完了時に実行する関数を渡します。

$.fn.getSomeData = function(callback) {
    $.getJSON('url', data, callback);
}

$('div').getSomeData(function() { 
    // do something
});

最初にデータを処理してから関数を呼び出すには、次のようにします。

$.fn.getSomeData = function(callback) {
    $.getJSON('url', data, function(result) {
        // do something with data
        callback(result);
    });
}
于 2011-12-15T09:53:27.607 に答える