You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js与Express.js如何正确获取GET接口返回的响应数据?

解决方案

你调用fetch得到的response是原生Response对象,仅包含HTTP响应头、状态码等元信息,你返回的字符串存储在响应体流中,需要主动调用对应的解析方法读取内容。

修正后的前端代码

async function testing() {
    try {
        const response = await fetch('/get-test');
        // 先判断请求是否成功(状态码2xx范围)
        if (!response.ok) {
            throw new Error(`请求出错,状态码: ${response.status}`);
        }
        // 因为服务端返回的是纯文本,调用text()方法读取响应体
        const testString = await response.text();
        console.log(testString); // 这里就能输出你要的 "get-test request string"
    } catch (err) {
        console.error('请求失败:', err);
    }
}
testing();

补充说明

  • 不同的响应内容类型需要用不同的解析方法:
    • 服务端返回JSON格式数据:调用await response.json()
    • 服务端返回二进制文件/图片:调用await response.blob()
    • 服务端返回表单格式数据:调用await response.formData()
    • 服务端返回普通文本/字符串:调用await response.text()
  • 你之前在打印的Response对象里找不到目标值,是因为响应体默认是ReadableStream流式格式,只有调用上述解析方法后才会被处理成可直接读取的内容。

内容的提问来源于stack exchange,提问作者JDS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:06:03