setInterval()中的.load调用仅工作一次

时间:2018-08-02 14:26:40

标签: javascript c# jquery ajax

我读过其他一些论坛,他们遇到的困难与我相似,但是我似乎无法间隔刷新一次。

    window.setInterval(function() {
    $('#testButton').load('test', function (response, status, xhr) {

        if (status == "error") {
            document.write("helloworld");
        }
        else {
            $('#testButton').replaceWith(response);
        }
    });
}, 5000);

我在.load中调用的测试函数是这样(我正在获取当前时间):

public ActionResult test()
    {

        DateTime currentTime = new DateTime();
        currentTime = DateTime.Now;
        String timeStr = currentTime.ToString();

        return Content(timeStr);
    }

我是Visual Studio的新手,所以如果这是一个简单的错误,请耐心等待我。> <”谢谢您!

1 个答案:

答案 0 :(得分:1)

问题出在这里:

 $('#testButton').replaceWith(response);

在成功返回值时,您替换了元素,因此该元素在以后的函数执行中不再存在(实际上函数执行但会产生错误)。替换为:

$('#testButton').html(response);

更改其内容,而不仅仅是用ajax的返回值替换元素本身。