React Native проверьте ответ json от API - PullRequest
0 голосов
/ 16 апреля 2020

В моем приложении я создал функцию входа в систему, получая данные через API.

Ответ, который я получаю, - json, и он показывает маркер при успешной регистрации.

Как я могу проверить действительный логин? Если pw и email неверны, он должен отказаться от входа в систему.

Мой JSON Ответ:

{
    "status": 200,
    "message": "success login",
    "success": "1",
    "id_user": "1",
    "username": "admin",
    "token": "06506e99c55c34fab74db72b8b263014"
}

{
    "status": 401,
    "message": "username atau password salah",
    "success": "0"
}

это мой код

fetch('https://example/api/login', {
      method: 'POST',
      headers: {
        'Accept' : 'application/json',
        'Content-Type': 'application/x-www-form-urlencoded'
      },
        body:
          "email=" + this.state.email + "&password=" + this.state.password 
      })
      .then((response) => response.text())
        .then((responseJson) => {
          alert(responseJson);
            // if(responseJson.token){
           this.props.navigation.navigate('home');
          // }else{
          //   alert('gagal');
          // }
        })
        .catch((error)=>{
      console.log(error);
      }).done();
    }

здесь идет мое заявление if

но при неправильном вводе пароля и имени пользователя он все равно может зайти на домашнюю страницу

1 Ответ

1 голос
/ 16 апреля 2020

Вы можете сделать что-то подобное, если ваши учетные данные неверны, используя ваш ответ:

.then((response) => response.json())
            .then((responseJson) => { 
                if(responseJson.status == 200){
                   this.props.navigation.navigate('home');
                }
                else if(responseJson.status == 401) {
                    alert("Invalid credentials");
                }

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...