使用fetch()发起POST API请求失败,请求技术协助
问题原因与解决方法
核心问题:你的fetch请求中,
body直接传入了数组,但fetch不会自动将JS对象/数组序列化为JSON字符串,导致服务器无法正确解析请求体,因此返回不完整的响应数据。而jQuery的AJAX方法会自动帮你完成JSON序列化,所以能正常获取完整结果。修复步骤:
将body的值用JSON.stringify()包裹,把数组转为符合要求的JSON字符串。
修改后的代码片段:
const options = { method: 'POST', headers: { 'content-type': 'application/json', 'X-RapidAPI-Key': '***', 'X-RapidAPI-Host': 'chatgpt-api8.p.rapidapi.com' }, body: JSON.stringify([ { content: 'who won the super bowl 2019?', role: 'user' } ]) };
- 验证说明:修改后,请求体将以标准JSON格式发送,服务器能正确解析用户提问,从而返回包含
model和text的完整响应。
内容的提问来源于stack exchange,提问作者Aswin
相关产品推荐
相关产品推荐

