当我使用
和 POST 方法来触发 Firebase http 函数时,如何获取查询参数?

2024-01-05

我正在尝试以安全的方式将一些查询参数传递到 Firebase 中的 http 函数。我的参数并不像密码等那么敏感,它们是一些决定逻辑服务器端的布尔值等。

当我尝试一个简单的<form>用方法GET or PUT the res.query显示的值不是我使用时的值POST.

  <form id="form" action="https://us-central1-***.cloudfunctions.net/myfuncName" 
   method="post">
  <input type="text" name="id" value="test">
  </form>

我通过 Javascript 提交表单

this.getElementById("form").submit();

在我的函数中我有:

function(req, res) {
    const param = req.query;
    console.log('query param is ' , param); //{} when form method is POST 
}

我希望能够从我的函数中的 res.query 获取 id,但我得到 null {}。如果我将方法更改为 GET 或 PUT,那么我会看到 {id:test}。

任何有关增强安全性的建议也将不胜感激。谢谢。


res.query允许您从请求的查询字符串获取参数。 POST 请求不使用查询字符串,因此您不能使用res.query。 POST 将参数发送到请求正文。

要访问来自表单的请求正文中的 POST 参数,您可以使用req.body如中所述云函数文档 https://cloud.google.com/functions/docs/writing/http#parsing_http_requests.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我使用 和 POST 方法来触发 Firebase http 函数时,如何获取查询参数? 的相关文章

随机推荐