setInterval(makeAjaxCall(),5000);

        function makeAjaxCall() {
            var url = '/Lines/dbcheck/[email protected]&[email protected]&LastID=@LastID';
            var data = {};
            $.get(url, data, function(response_text){
                if (response_text == 1)
                {
                    document.location.reload();
                }
                else
                {
                    setInterval(makeAjaxCall(),5000);
                }
            }, "text");
        }


我已经可以从控制器调用函数,但是只有1次。我想创建函数来检查数据库中的数据并返回1或0。如果为0,我想延迟5秒钟,然后再次调用函数。

问题是参数response_text没有更新,因为我只能在第一次从控制器调用该函数

最佳答案

setInterval(makeAjaxCall(),5000);

        function makeAjaxCall() {

           $.ajax({
                cache : false,
                dataType: "json",
                type: "GET",
                async:false,
                url: url ,
                success: function (fdata) {
                if (fdata == 1)
                {
                    document.location.reload();
                }
                else
                {
                    setInterval(makeAjaxCall(),5000);
                }
             },
            error: function (reponse) {
                }
            });
}

08-26 17:09