Реагируйте на Native с помощью Cookies - PullRequest
0 голосов
/ 22 февраля 2019

Я создал страницу входа и сегодняшнюю страницу и пытаюсь использовать файлы cookie.Когда я вхожу в систему, я использую имя пользователя / пароль, и он возвращает куки из API.Теперь я хочу получить данные из другого API через cookie, который я получил через свой логин.Как передать cookie в программу «native native»?

Моя страница login.js выглядит следующим образом.

async login() {
    try { 
        let response = await fetch('http://192.168.168.114:8090/Cam/LoginOut/role', {
            method: 'POST',
            headers: { 
              'Accept': 'application/json',
              'Content-Type': 'application/json'
            },
            body: JSON.stringify({
              role: this.state.role,
              username: this.state.username,
              password: this.state.password
            })
        });
        let res = await response.text();
        if(response.status >= 200 && response.status < 300) {
            let headers = response.headers
            let newCookie = headers['Set-Cookie'];
            console.log(response.headers);
            console.log("res is + " + res);
            this.props.navigation.navigate('Idag');
        } else {
            let errors = res;
            console.log(response.status + " fejl, Jeg er næsten inde");
            throw errors;
        }

    }   catch (errors) {
        console.log('There has been a problem with your fetch operation: ');
        // ADD THROW ERRORS EVENTUALLY
    }


}

и выборка моей страницы today.js выглядит следующим образом

componentDidMount = () => {
            try {

        let response = fetch('http://192.168.168.114:8090/Cam/Calendar/show', {
            method: 'POST',
            headers: { 
              'Accept': 'application/json',
              'Content-Type': 'application/json'
            },
            body: JSON.stringify({
            from : "2019-02-20 08:00:00",
            to : "2019-02-21 17:00:00"
            })
        });
        let res = response.text();
        if(response.status >= 200 && response.status < 300) {
            //data fra svar her
            console.log("Today: res is + " + res);
        } else {
            let errors = res;
            console.log("Today: Jeg er næsten inde");
            throw errors;
        }

    }   catch (errors) {
        console.log('Today: There has been a problem with your Data: ');
        //this.dropdown.alertWithType('error', 'Error', error.message);
        //this.props.navigation.navigate('TodayScreen');
        // ADD THROW ERRORS EVENTUALLY
    }

};

это компонент, который монтировался в моем today.js, поэтому он будет загружатьсякак только пользователь войдет в систему. (логин работает, и у меня есть навигатор для переключения на другие страницы)

1 Ответ

0 голосов
/ 22 февраля 2019

Ну, вы не можете "прикоснуться" к cookie в мобильном контексте, по крайней мере, так я думал, когда столкнулся с той же проблемой 2 года назад.Вы не можете console.log значение cookie или что-то в этом роде.Однако вы можете установить это в своем методе выборки:

credentials: 'same-origin'

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

...