1

我需要定期从 URL 检索 JSON 数据,并相应地更新我的页面。

我有一张桌子。每行都有一个链接,我将链接以测试其状态,例如每 20 秒。

这可以使用页面刷新元标记来实现,但我认为 ajax 会是一个更好的解决方案。

我应该使用 $.getJSON 吗?(我对 ajax/json 很陌生)

4

1 回答 1

0

你基本上在那里。首先,这$.getJSON()只是一个方便的方法$.ajax()datatype: 'json'它是始终坚持使用的最佳实践$.ajax()。您想setTimeout在要异步加载的函数中调用 - 因此您将在此处使用递归。好处是您可以重复进行 AJAX 调用,但只有在前一个方法完成时,才能正常运行。一个简单的例子如下:

$(function() {
    var myFunction = function() {
        $.ajax({ 
            url: '/place-for-cool-stuff', 
            datatype: 'json',
            data: { ... data you need to send, e.g. method arguments ... }
         }).done(function (data) {
             ... do stuff with the data you get back ...
         }).fail(function (jqXHR) {
             ... be smart and handle failures ...
         }).always(function () {
             ... no matter what happens do this stuff ...
             setTimeout(myFunction, 20000);
         });
     };
});
于 2012-04-24T02:39:27.677 回答