通过POST进行身份验证后,我需要使用Ajax进行GET

时间:2019-05-10 13:52:04

标签: javascript ajax api xmlhttprequest

我正在尝试创建一个仪表板,该仪表板登录到API,然后刷新完全自动化的某些数据元素。我可以登录并进行身份验证,但是在谷歌搜索后不确定如何在“ POST”之后“链接” GET请求

我尝试观看一些youtube教程并创建功能,将它们附加到按钮和div上,但是我只是无法显示数据。第一批代码完成并登录OK,但随后坐在那里并超时。我尝试添加第二次打开并使登录同步,但失败

<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 :(得分:0)

在代码中,您永远不会使用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