#javascript #cookies #axios
Вопрос:
У нас есть следующий код:
const defaultOptions = { baseURL: process.env.REACT_APP_CRIPTOCAMBIOS_URL, headers: { 'Content-Type': 'application/json' } }; export const CCApi = axios.create(defaultOptions); export const requestDomicileAutocomplete = input =gt; CCApi.post( '/domicile_seeds/autocomplete', { input, types: ['address'] }, { withCredentials: true } ); // FIXME: Review sending cookies in the payload, we probably need to add { withCredentials: true } in both requests. I am getting a CORS issue right now. So skipping it. export const requestDomicileDetail = placeId =gt; CCApi.post( '/domicile_seeds/place_details', { place_id: placeId, fields: 'address_components' }, { withCredentials: true } );
У нас включена функция CORS, поэтому нам пришлось внести некоторые изменения в наш сервер, чтобы пройти проверку браузера.
Сервер выполняет следующие действия:
- При первом запросе на /автозаполнение он устанавливает файл cookie.
- При втором запросе к /place_details он ожидает, что файл cookie будет установлен, и очищает его.
Однако мы заметили, что по запросу /place_details
мы не получаем файл cookie.
И это то, что мы видим в инструментах разработки.
Файлы cookie автозаполнения:
Файлы cookie с информацией о размещении:
Так что, как вы видите, в запросе на /place_details
его отправку в запросе не указан ранее установленный файл cookie.
Что мы делаем не так? Мы используем axios v0.21.4
Комментарии:
1. похоже, что ваш сервер обновил
place_details
запрос до HTTPS, хотя в случае сautocomplete
запросом это не так. Вы получаете101
ответ от сервера?2. Странный. Я получаю 200 ответов на оба запроса.