POST-запрос от веб-браузера выдает ошибку, а Postman - нет. Как запретить Ax ios заключать в кавычки значения? - PullRequest
0 голосов
/ 18 марта 2020

Я использую Formik и React to POST для API .NetCore Entity Framework.

В Postman он работает без ошибок. Однако, когда я выполняю POST из веб-браузера, я получаю сообщение об ошибке.

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

Почтальон работает - без кавычек вокруг значения:

"galaxyTypeId": 1,

Ax ios Post - ставит кавычки вокруг значения:

"galaxyTypeId": "4",

Я получаю эту ошибку в браузере:

POST https://localhost:44376/api/getformdata 400
createError.js:16 Uncaught (in promise) Error: Request failed with status code 400
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:61)

Вот соответствующий раздел кода:

<Formik
        initialValues={{
            gameAdminEmail: "",
            adminName: "",
            phone: "",
            galaxyTypeId: 1,
            starId: 1,
            description: "",
            gameUrl: "",
        }}
        onSubmit={async values => {
            await new Promise(resolve => setTimeout(resolve, 500));
            axios({
                method: "POST",
                url: "https://localhost:44376/api/getformdata",
                data: values
            });
            console.log(JSON.stringify(values, null, 2));
        }}

    >

Есть ли способ предотвратить использование Ax ios кавычек вокруг числовых значений?

Спасибо !

1 Ответ

1 голос
/ 18 марта 2020

Я смотрю на этот код, и проблема не воспроизводится. https://codepen.io/OpenGG/pen/xaGKEP

var payload = { "galaxyTypeId": 45 }

axios.post('//httpbin.org/post', payload)
  .then(res => {
    const pre = document.createElement('pre');
    pre.textContent = JSON.stringify(res.data, null, '  ');
    document.body.appendChild(pre);
  })
  .catch(err => {
    document.body.textContent = err.stack;
  });

У вас есть ссылка на репо?

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