Как аутентифицировать пользователя в es6 при поступлении данных из API?

#ecmascript-6

#ecmascript-6

Вопрос:

У меня есть API, который отлично работает в Postman и получает результат, когда я указал адрес электронной почты и пароль в разделе заголовка, теперь у меня есть форма входа в систему, и я хочу аутентифицировать пользователя по этому результату данных API, если имя пользователя и пароль совпадают с данными API, а затем вошли в систему, в противном случае отображается ошибка. Я хотел этот тип работы, но я очень смущен, с чего начать. и я хочу использовать только функции es6.

Ответ №1:

Вы создаете login функцию, которая вызывает ajax-вызов вашего API, возможно, используя fetch API (или какую-либо другую библиотеку ajax, подобную Axios ). Ваш вызов возвращает обещание с результатом от сервера, на который вы затем действуете.

 const login = (formValues) => {
  return fetch('/your/api/url', {
    method: 'POST',
    body: JSON.stringify(formValues)
  })
  .then((response) => JSON.parse(response))
  .then((data) => {
    // do something with the server data
  })
  .catch((error) => {
    // do something with the error
  });
};
  

В этом суть. Вашему серверу могут потребоваться дополнительные параметры запроса, поэтому просмотрите API для любого выбранного вами метода ajax. Опять же, существуют подобные библиотеки Axios , которые могут абстрагировать / упрощать / расширять fetch API для вас, или вы можете просто использовать его напрямую. Самое главное, что нужно помнить, это то, что вы не можете получить доступ к возвращаемым значениям, пока они у вас на самом деле не будут, поэтому, если вы не знакомы с Promises, вам также следует изучить их.

Использование выборки
Обещание