Неудачный почтовый запрос с ошибочным запросом - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь выполнить простой пост-запрос с помощью axios.

Мой фрагмент кода:

const getOauthToken = async () => {
  try {

    const headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'X-ProxyPass' : '...',
    }


    const data = {
        ...
    }

    return await axios.post('/oauth2/token', data, {headers: headers});
  } catch (error) {
    throw new Error(`Unable to get an authentication token. Reason ${error}`);
  }

};

Этот вызов завершается неудачно с http 400. Когда я устанавливаю заголовки по умолчанию с

axios.defaults.headers.post['X-ProxyPass'] = '...';
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

тогда это работает.

1 Ответ

0 голосов
/ 24 сентября 2018

Нашел решение в документации по axios.Если я использую «application / x-www-form-urlencoded», я должен использовать строку запроса для сериализации в нужном формате.

return await axios.post('/oauth2/token', querystring.stringify(data), {headers: headers});

Но почему это работает, когда я устанавливаю заголовки в качестве заголовков по умолчанию?все еще таинственный.

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