Ajax перезагружает страницу вместо отправки запроса

У меня есть сценарий Ajax, который вызывает перезагрузку всей страницы без отправки URL-адреса для запроса в сценарии. Журналы сервера показывают URL-адрес страницы как повторно отправленный. Добавление оповещения показывает, что функция запущена, но встроенный URL-адрес игнорируется. При использовании сам по себе URL-адрес запроса в скрипте возвращает правильные данные.

Почему не применяется встроенный URL?

Другой Ajax-скрипт на той же странице отлично работает, используя переменную с именем xhttp вместо xfiles, так что в этом нет конфликта.

 function rlist() {
        var xfiles = new XMLHttpRequest();
        xfiles.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("filelist").innerHTML =
                this.responseText;
            }
        };
        xfiles.open("GET", "/cgi-bin/cnc.cgi?precert~patients~rlist~813527153~0975184859230735~~6306919737~622156596S", true);
        xfiles.send();
    }

Цель состоит в том, чтобы обновить небольшую таблицу загруженных файлов. В responseText содержится таблица html со ссылками. Это не может быть проблемой здесь, поскольку URL-адрес никогда не отправляется в первую очередь.


person JAC    schedule 20.05.2020    source источник
comment
Как вы запускаете эту функцию?   -  person Swetank Poddar    schedule 20.05.2020
comment
‹a href=javascript:void(0) onclick=rlist();›Обновить список‹/a›   -  person JAC    schedule 20.05.2020


Ответы (1)


У Светэнка Поддара действительно была правильная идея... Как оказалось, это была ошибка пользователя. Я пропустил двоеточие в javascript:void(0) и постоянно упускал его из виду. Таким образом, Ajax работал правильно, но опечатка в ссылке приводила к последующей перезагрузке страницы. Все это было так быстро, что это не было очевидно, и база данных на сервере показала последнее обработанное обращение как ссылку для загрузки страницы в первую очередь, которая также была ссылкой для ее перезагрузки.

person JAC    schedule 21.05.2020