我在使用 Fetch 发送 POST 请求以缩短 URL 时遇到了一个大问题。
我很好并且能够通过 cURL 命令对这个 url 缩短器 API 执行 POST 请求:
卷曲命令
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。这是一个演示,所以我真的只是想让它工作。
慕桂英4014372
相关分类