Почему мой AJAX-вызов HTTPHandler не работает? - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь воссоздать решение , показанное здесь , для поддержания сеанса живым с помощью HTTPHandler и вызова AJAX.

Решение, похоже, не сработало, и когда я попытался отладить его, добавив оповещение (); непосредственно перед $ .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"
    );
}

Есть мысли?

1 Ответ

0 голосов
/ 06 июля 2019

И Слон, и Ганс Кеинг были правы на деньги.

Рабочий 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"
            );
        }

    });

Спасибо вам обоим!

...