Ax ios Get a express session возвращает undefined, но POSTMAN возвращает правильные данные - PullRequest
0 голосов
/ 21 июня 2020

У меня проблема при попытке получить информацию из сеанса сервера. У меня есть функция входа в систему, которая помещает информацию о пользователе в сеанс сервера.

Я написал тестовую функцию, чтобы проверить, работает ли она:

router.post('/userLogged', async(request, response) => {
if (request.session.user === undefined) {
    response.status(401).send('Not Allowed')
    return;
}
response.json(request.session.user);

})

Когда Я запускаю эту функцию с помощью POSTMAN, она отлично работает и возвращает данные сеанса.

Но когда я пытаюсь вызвать это с помощью Ax ios на стороне клиента:

private userLogged = async()=>{
    try{
        const url = 'http://localhost:3000/api';
        const response = await axios.post(`${url}/userLogged`,{withCredentials: true});
        console.log(response)
    }catch(err){
        alert(err.message)
    }
}

Я всегда получаю Не определено, что я здесь делаю не так?

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

почтальон не применяет проверку домена CROS, в отличие от браузера

0 голосов
/ 21 июня 2020

После этой проблемы здесь (https://github.com/axios/axios/issues/587) кажется, что вы можете решить ее, используя вместо этого настройки по умолчанию ax ios.

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

это не проблема с ax ios Я просто заставил его работать в последней версии, я использовал express cors, поэтому я просто добавил учетные данные: true, origin: http://yourdomain: 3000. Это не сработает на локальном хосте, вам нужно указать свой локальный хост в какой-то поддельный домен, и все ваши приложения будут работать в этом домене

...