1. Возможно, проблема возникает из-за ограничений настраиваемые CORS (Cross-Origin Resource Sharing) политики браузера. Когда вы используете curl, он не применяет эти ограничения, поэтому он может получить данные без проблем. Однако, браузеры обычно реагируют на запросы, которые идут к другому источнику, что может вызывать проблемы с доступом к данным.
2. Для отправки POST-запроса через API транспортной компании на JavaScript с использованием HTTP Basic Authorization, можно воспользоваться следующим кодом:
```javascript
fetch('https://api.example.com/endpoint', {
method: 'POST',
headers: {
'Authorization': 'Basic ' + btoa('username:password'),
'Content-Type': 'application/json'
},
body: JSON.stringify({ key: 'value' })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
```
Если вы получаете ошибку "CORS Missing Allow Origin", попробуйте выполнить следующие действия:
- Убедитесь, что сервер API поддерживает CORS и разрешает запросы из вашего домена. Вы можете добавить заголовок `Access-Control-Allow-Origin: *` на сервере API.
- Если у вас есть доступ к серверу API, вы также можете настроить CORS для разрешения запросов с вашего домена.
- В некоторых случаях, дополнительные заголовки, такие как `Access-Control-Allow-Headers` или `Access-Control-Allow-Methods`, могут понадобиться для настройки CORS.
- Возможно, вам потребуется использовать прокси или сервер промежуточного уровня для отправки запросов, чтобы обойти ограничения CORS.
Надеюсь, это поможет вам решить проблему с отправкой POST-запросов через API транспортной компании на JavaScript.