Я справляюсь с использованием API для отображения данных при обновлении страницы. Итак, первая часть - аутентификация с использованием аутентификации на основе форм Итак, у меня есть это:
<html>
<head>
<script type="text/javascript">
function CallWebAPI()
{
var request = new XMLHttpRequest(), data = 'username=admin&password=admin';
request.open('POST', 'https://localIP:8443/api/users/_login', true)
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
request.setRequestHeader("Accept", "application/xml")
request.onreadystatechange = function()
{
// D some business logics here if you receive return
//if(request.readyState === 4 && request.status === 200) {
console.log(request.responseText);
//}
}
request.send(data);
}
</script>
</head>
<body>
<div>
<div id="response">
</div>
<input type="button" class="btn btn-primary" value="Call Web API" onclick="javascript:CallWebAPI();" />
</body>
</html>
Итак, из вышесказанного, в браузере консоли я возвращаю правильное сообщение аутентификации следующим образом:
УДАЧИ
Итак, я хочу запустить другую функцию для получения данных, теперь я вошел в систему, но, похоже, она вернулась к «неавторизованному». Все, что я сделал, это создал еще одну функцию, точно такую же, за исключением того, что это был GET, а не POST, и добавил еще одну кнопку для проверки. Но он продолжал возвращать 401: несанкционированный. Я делаю это в неправильном порядке или что-то?
Я вставляю вторую функцию, подобную этой:
function getChannelStats()
{
var stats = new XMLHttpRequest();
stats.open('GET', 'https://localIP:8443/api/channels/statistics?channelId=f237ae66-6c5b-4ffa-9396-0721eb575184', true)
stats.setRequestHeader("Accept", "application/xml")
stats.onreadystatechange = function()
{
// D some business logics here if you receive return
//if(request.readyState === 4 && request.status === 200) {
console.log(stats.responseText);
//}
}
stats.send();
}
request.send(data);
}
И добавьте еще одну кнопку этого класса для функции responseText. Я ожидаю сообщение XML с различными номерами в нем. Но когда я пытаюсь запустить его, он запрашивает у меня аутентификацию - как будто он не сохраняет его?