为什么我对HTTPHandler的AJAX调用不起作用?

时间:2019-06-26 13:21:56

标签: asp.net ajax httphandler

我试图通过使用HTTPHandler并对其进行AJAX调用来重新创建solution seen here,以使会话保持活动状态。

该解决方案似乎没有用,当我尝试通过添加alert()来调试它时;就在$ .get()之前; alert();从来没有被解雇。我复制并粘贴了示例中的代码,因此我没有缺少分号或其他内容。我什至设置了一个alert();在setTimeout()之前;那一个工作了!

function setHeartbeat() {
    alert("I get here!");
    setTimeout("heartbeat()", 300000); // every 5 min
}

function heartbeat() {
    alert("I never seem to fire off!");
    $.get(
        "/SessionHeartbeat.ashx",
        null,
        function(data) {
            setHeartbeat();
        },
        "json"
    );
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

slon和Hans Ke st ing都是钱中的一员。

有效的javascript是:

    $(document).ready(function () {

        //alert("Document is ready.");

        // set the initial call
        setHeartbeat();

        function setHeartbeat() {
            //alert("setHeartbeat");
            setInterval(function () {
                heartbeat();
            }, 10000); // every 10 sec
        }

        function heartbeat() {
            //alert("heartbeat");
            $.get(
                "/SessionHeartbeat.ashx",
                null,
                function(data) {
                    setHeartbeat();
                },
                "json"
            );
        }

    });

谢谢你们!