Имея огромную проблему, я столкнулся с отправкой запроса POST, используя Fetch для сокращения URL.
У меня все хорошо, и я могу выполнить запрос POST с помощью команды cURL для этого API сокращения URL:
Команда скручивания
curl -d 'api_key=xxxxxxxxxxxxxx&url=https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch' http://fakeurlforexample/api/shorten/
Ответ
{"url": "https://fakeurlforexample/BdzfM3", "long_url": "https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch", "name": "BdzfM3"}
И я получаю этот замечательный ответ от API.
Но когда я делаю это с помощью Fetch с этим кодом, который я предоставил ниже, я получаю 200 OK, и в полезной нагрузке ответа у меня появляется ошибка 400 проверки, что мне не хватает ключа API.
Однако полезная нагрузка запроса в консоли разработчика показывает, что параметры были правильно переданы в API (я думаю ...)
{"api_key":"xxxxxxxxxxxxxxxxx","url":"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch"}
Вот мой код:
let get_url = 'http://fakeurlforexample.com/api/shorten/';
let request = new Request(get_url, {
method: 'POST',
body: JSON.stringify({'api_key':'xxxxxxxxx', 'url': 'https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch'})
});
fetch(request)
.then(function() {
console.log(request);
console.log(request.url);
})
Кто-нибудь видит ошибку, которую я здесь делаю?
Это было побеждено этим часами на этой неделе. Спасибо за любую помощь и помощь! И нет, я не могу легко перевести код в axios, как сейчас. Это демонстрация, поэтому я просто пытаюсь заставить ее работать.