После аутентификации через POST мне нужно сделать GET с использованием Ajax - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь создать панель мониторинга, которая входит в API, а затем обновляет некоторые элементы данных, которые полностью автоматизированы. Я могу войти и аутентифицироваться, но после поиска в Google не уверен, как «связать» запрос GET после «POST»

Я пытался посмотреть несколько учебных пособий по YouTube и создать функции, прикрепив их к кнопкам и элементам div, но я просто не могу отобразить данные. Первый пакет кода завершается и входит в систему в порядке, но затем остается и время ожидания. Я попытался просто добавить второе открытие и сделать логин синхронным, но это не удалось

<script type="text/javascript">
    const xhr = new XMLHttpRequest();
    var data = 'username=user&password=password';

    xhr.onreadystatechange = function()
    {
        if (xhr.readyState == "4")
    {
            if (xhr.status == "200")
            {
                console.log(xhr.responseText);
            }

            if (xhr.status = "404")
            {
            console.log("FnF");
            }

        }
    }
    xhr.open('post','https://apiServer:8443/api/login', true)
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    xhr.setRequestHeader("Accept", "application/xml")
    //xhr.open('get', 'https://apiServer:8443/api/resource/items', true);
    xhr.send();

Я ожидаю, что вход в систему будет выполнен за кулисами и не будет виден, и просто запрос GET отобразит данные в div (я постараюсь привести в порядок ответ xml, когда я получу данные в первую очередь).

1 Ответ

0 голосов
/ 10 мая 2019

В вашем коде вы никогда не используете переменную data:

const xhr = new XMLHttpRequest();
var data = 'username=user&password=password';

xhr.onreadystatechange = function()
{
    if (xhr.readyState == "4")
    {
        if (xhr.status == "200")
        {
            console.log(xhr.responseText);
        }

        if (xhr.status = "404")
        {
        console.log("FnF");
        }

    }
}
xhr.open('post','https://apiServer:8443/api/login', true)
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
xhr.setRequestHeader("Accept", "application/xml")
//xhr.open('get', 'https://apiServer:8443/api/resource/items', true);
xhr.send(data); // <====== HERE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...