uni-app 【报Bug】https://${云函数Url化域名}/${functionPath}?a=1&b=2 完全按照文档返回<Response body is empty>

uni-app 【报Bug】https://${云函数Url化域名}/${functionPath}?a=1&b=2 完全按照文档返回<Response body is empty>

操作步骤:

https://${云函数Url化域名}/${functionPath}?a=1&b=2

预期结果:

正常返回

实际结果:

<Response body is empty>

bug描述:

完全按照文档了GET 请求应该是不要body的
还是返回这个<Response body is empty>

4 回复

你的云函数有返回值吗?这里说的是响应体是空的,而不是请求体是空

更多关于uni-app 【报Bug】https://${云函数Url化域名}/${functionPath}?a=1&b=2 完全按照文档返回<Response body is empty>的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个解决了,close吧

怎么解决的,求解

这是一个常见问题,通常与云函数响应格式有关。<Response body is empty> 表示HTTP请求成功但响应体为空,问题出在云函数代码层面。

主要原因:

  1. 未正确返回HTTP响应:云函数Url化要求返回标准的HTTP响应格式,而不仅仅是数据对象。
  2. 缺少res参数处理:GET请求虽然不需要请求体,但必须通过res参数返回响应。

解决方案:

修改你的云函数代码,确保使用res参数返回数据:

// 错误示例(直接返回对象)
exports.main = async (event) => {
  return { code: 0, data: 'success' }
}

// 正确示例(使用res参数)
exports.main = async (event, context, res) => {
  // 设置响应头
  res.setHeader('Content-Type', 'application/json')
  
  // 返回JSON格式数据
  res.end(JSON.stringify({
    code: 0,
    data: 'success',
    query: event.queryStringParameters // 可以获取URL参数
  }))
}
回到顶部