为了账号安全,请及时绑定邮箱和手机立即绑定

cURL 命令有效,但 Fetch API 调用在响应有效负载中返回 200 和 400 验证错误

cURL 命令有效,但 Fetch API 调用在响应有效负载中返回 200 和 400 验证错误

qq_遁去的一_1 2021-06-22 17:46:30
我在使用 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。这是一个演示,所以我真的只是想让它工作。
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

可能是因为您定义了 2 次标题。


查看完整回答
反对 回复 2021-06-24
  • 2 回答
  • 0 关注
  • 394 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信