vue. js и топор ios используют, но не могут получить set-cook ie в response.headers - PullRequest
0 голосов
/ 28 февраля 2020

Я пытался вызвать внешний API из Vue js темы coreui, но не смог получить set-cook ie в response.headers

Код такой, как показано ниже

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  axios.defaults.headers.common['Access-Control-Allow-Credentials'] = true;
  axios.defaults.headers.common['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8000';
  axios.defaults.headers.common['Access-Control-Allow-Headers'] = 'X-PINGOTHER, Content-Type';
  axios.defaults.headers.common['Access-Control-Expose-Headers'] = 'Access-Token, Uid';
  axios.defaults.headers.common['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS';
    axios
    .post('url', 
    {
        par : '20'
    }, {
        withCredentials: true,
        })
    .then(function(response){
      console.log(response);
    })
    .catch(error => console.log(error))

Я пытался использовать и

axios.defaults.headers.common['Access-Control-Expose-Headers'] = 'Access-Token, Uid';

this и

withCredentials: true,

Ответ идет правильно, но заголовки не совпадают

response.headers в консоли

в инструментах для разработчиков, как показано ниже: заголовок ответа для инструментов для разработчиков

Примечание: В Почтальоне я получаю set-cook ie, но в ответ на приложение не получаю.

Я перепробовал все, что касается Ax ios и Vue js, но все еще не получил набор cookie-файлов в заголовках.

1 Ответ

0 голосов
/ 28 февраля 2020

На самом деле вы путаете request & response вместе. Как сказал @ jonrsharpe в разделе комментариев, заголовки начинаются с префикса Access-Control- и равны Response Headers, что означает, что сервер должен отправлять их браузеру в ответ. Но здесь вы отправляете его на сервер от клиента.

Вы должны включить его в приложении на стороне сервера. Не на стороне клиента.

См. Это Set-Cook ie не работает в браузере, но работает с почтальоном

...