自定义API返回异常数据:ThunderClient与fetch调用结果不一致求助
问题原因与修复方案
你的代码错误在于直接序列化了fetch返回的Response对象,而非解析接口返回的实际数据。ThunderClient会自动解析响应内容,但fetch需要手动处理响应体。
修正后的代码:
export const getAllIssues = () => { return fetch("http://reznov00-001-site1.atempurl.com/api/Issue") .then(response => { // 先校验响应状态是否正常 if (!response.ok) { throw new Error(`请求失败,状态码:${response.status}`); } return response.json(); // 解析响应体为JSON格式数据 }) .then(data => { console.log(data); // 此处输出的是接口返回的实际业务数据 return data; }) .catch(error => { console.error('请求出错:', error); }); }
- 关键说明:
- fetch返回的Response对象仅包含HTTP响应的元信息(如状态码、请求头等),不是接口返回的业务数据,必须调用
.json()(针对JSON格式响应)或.text()等方法提取响应体内容。 - 加入
response.ok检查是为了捕获HTTP错误(如404、500等状态码),避免后续解析步骤报错。
- fetch返回的Response对象仅包含HTTP响应的元信息(如状态码、请求头等),不是接口返回的业务数据,必须调用
内容的提问来源于stack exchange,提问作者Reznov
相关产品推荐
相关产品推荐

