Как использовать API в Интернете, используя Ajax и Javascript? - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу реализовать вход в систему, вызвав API с использованием Ajax и Javascript.

Пользователь вводит имя пользователя и пароль и, нажав кнопку «login ()», будет вызван.Если ввод правильный, он должен открыть страницу приветствия.Я реализовал это, как показано ниже.Но это не работает!

function login() {
  var url = "http://...";
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;

  var xhr = new XMLHttpRequest();
  xhr.open("POST", url, true);

  xhr.setRequestHeader("Content-Type", "application/json");

  console.log("before function. ")    
  xhr.onreadystatechange = function () {
    console.log("before if. ")
    if (this.readyState == 4 && this.status == 200) {
      console.log("inside if. " + xhr.responseText);
      window.open(welcome);
    }
  };

  var obj = { UserName: username , Password: password }
  var data = JSON.stringify(obj);

  xhr.send(data);
  console.log("END ");
}

Как и предполагалось, я добавил несколько журналов консоли для его отладки и обнаружил, что он никогда не запускается внутри if.На консоли нет ошибок, и вот вывод на консоли:

before function. 
END
before if.

(раньше повторялось 3 раза)

Я уже проверил API Почтальоном.Оно работает.Если имя пользователя и пароль верны, он возвращает всю информацию о пользователе, а код состояния http - 201. Если ввод неправильный, возвращается сообщение об ошибке, а код состояния - 401.

...