У меня есть вызов API в моем внешнем приложении, которое использует Ax ios для выполнения запроса PUT. Это работает от почтальона, но в браузере я получаю ошибку 415. Вот заголовки браузера:
Общие
URL-адрес запроса: api.example.com/foo
Метод запроса: ОПЦИИ
Код состояния: 415 Неподдерживаемый тип носителя
Удаленный адрес: IP-адрес: 443
Политика реферера: no-referer-when-downgrade
Заголовки ответа
Access-Control-Allow-Headers: content- type
Access-Control-Allow-Methods: GET, PUT, POST, DELETE, HEAD, OPTIONS
Access-Control-Allow-Origin: *
Длина содержимого: 175
Тип содержимого: применение / проблема + JSON; charset = utf-8
Дата: понедельник, 13 января 2020 года 20:03:06 GMT
Контекст запроса: appId = guid
Сервер: Microsoft-IIS / 10.0
Strict-Transport-Security: max-age = 2592000
X-Powered-By: ASP. NET
Заголовки запроса
Accept: * / *
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US, en; q = 0,9
Access-Control-Request-Headers: content-type
Access-Control-Request-Method: PUT
Cache-Control: без кеша
Соединение: keep-alive
Хост: api.example.com
Источник: http://localhost: 3000
Прагма: без кеша
Реферер: http://localhost: 3000 / добавочный
Se c -Fetch-Mode: cors
Se c -Fetch-Site: кросс-сайт
Пользователь- Агент: Mozilla / 5.0 (Macintosh; Intel Ma c OS X 10_14_6) AppleWebKit / 537.36 (K HTML, как Gecko) Chrome / 79.0.3945.117 Safari / 537.36
Мой запрос выглядит так:
const url = 'https://api.example.com/foo';
const headers = {
'Content-Type': 'application/json; charset=UTF-8'
};
const data = JSON.stringify([{"name": "SomeName","date": "2020-01-30T14:50:56.636Z"}]);
axios.put(
url,
data,
{headers: headers}
)
.then(res => {
console.log(res);
})
.catch((e) => {
console.log(e);
});
Мой API является основным приложением. net. Спасибо друзья!