1

$.getJson将请求结果中的内容返回给调用者函数时,最佳实践是什么?我有一个名为的函数$.fn.getSomeData,其中有一个$.getJson调用(这个函数在一个 JS 文件中,JSP 想要使用我的 web 服务必须导入)。

然后在调用 JSP 内部,一个函数将调用我的$.fn.getSomeData函数。

因为我的$.getjson请求是异步的,所以我必须等待回调函数执行才能考虑处理 JSON。将结果数据传递回调用 JSP 中的函数的最佳方法是什么?

我读过的其他选项包括将 Div 传递到$.fn.getSomeData方法中,然后在 $.getJson 回调函数中,我会处理 json 并按照我希望的方式附加到 Div。

第二种选择是将函数传递给$.fn.getSomeData. 然后可以在$.getjson回调函数中调用此函数。

有人可以推荐一个最佳实践吗?我不想使用将 Div 传递给我的$.fn.getSomeData函数的选项,因为我想减少外部 JS 文件中的耦合。

还有一种方法可以将回调函数添加到我从 JSP 发出的调用中$.fn.getSomeData,一旦$.getjson回调执行,它就会以某种方式触发?

期待听到您的建议。

4

1 回答 1

1

第二个版本是你想要的。

传入您希望在 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 回答