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

Why isn't my AJAX call to an HTTPHandler working?

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

该解决方案似乎没有奏效,当我尝试通过添加 alert() 来调试它时;就在 $.get(); 之前警报();从未被解雇。我复制并粘贴了示例中的代码,所以我没有遗漏分号或其他内容。我什至设置了一个警报();在 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"
    );
}

有什么想法吗?

slon 和 Hans Kesting 都说对了。

工作 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"
            );
        }

    });

谢谢你们!