定期更新ajax

时间:2014-01-22 09:27:52

标签: javascript ajax auto-update

我知道关于这个话题有很多问题,但我真的找不到适合我案例的任何内容。我在javascript中定义了这个函数:

self.ajax = function(uri, method, data) {
        var request = {
            url: uri,
            type: method,
            contentType: "application/json",
            accepts: "application/json",
            cache: false,
            dataType: 'json',
            data: JSON.stringify(data),
            error: function(jqXHR) {
                console.log("ajax error" + jqXHR.status);
            }

        };
        return $.ajax(request);
    }

我稍后会这样调用此函数:

self.ajax(self.tasksGetUri, 'POST', self.jsonRequest).done(function(data) {
        for (var i = 0; i < data.tasks.length; i++) {
            self.tasks.push({
                user_id: ko.observable(data.tasks[i].user_id),
                task_id: ko.observable(data.tasks[i].task_id),
                done: ko.observable(data.tasks[i].done)
            });
        }
        $(document).ready(function() {
            for (var i = 0; i < self.tasks().length; i++) {
                task = $("#" + self.tasks()[i].task_id());
                if (task.length) {
                    task.slideUp(400);
                    task.parent().find(".unFinishedTask").hide();
                    task.parent().addClass("finished");
                    task.parent().find(".showTask").show();
                }
            }
        });

    });

好吧,我希望这个函数的调用与返回'done()'函数一起定期执行。我知道有函数setInterval(),但我不知道它是否适合我的情况。有人可以推荐一些其他解决方案吗?

提前感谢您的帮助。

0 个答案:

没有答案