【发布时间】:2021-06-03 11:16:17
【问题描述】:
在我的 React 应用程序中,我有一个 axios.get 请求,如下所示:
axios.get('https://[app name here].firebaseio.com/shoppingCart.json')
它会从 Firebase 实时数据库中的“shoppingCart”端点返回所有内容:
例如,如果我只想返回“uid”为“asdf1”的记录,如果可能的话,我将如何将适当的查询添加到我的 GET 请求中?
我还尝试按照https://firebase.google.com/docs/database/rest/retrieve-data 此处的文档(关于按指定子键进行过滤)并构建以下请求,但我收到 400 bad request 错误。
axios.get('https://[app name here].firebaseio.com/shoppingCart.json?orderBy="uid"&equalTo="asdf1"')
【问题讨论】:
-
乍一看这对我来说很好。响应正文中有更多详细信息吗?
-
嗯,这是我将其记录到控制台时的错误消息:错误:在 XMLHttpRequest 的结算 (settle.js:17) 处的 createError (createError.js:16) 处请求失败,状态代码为 400。处理负载(xhr.js:62)
-
这看起来像 axios 消息,而不是来自 HTTP 响应的正文。另一种实现相同的方法:您能否在浏览器中重现 URL 调用的问题,因此无需任何 JavaScript 代码?如果是这样,你能分享那个网址吗?如果您担心泄露您的实际数据库,您可以创建一个仅用于共享 URL 的新项目,并在问题解决后将其删除。
-
好的,我在浏览器中调用了该 URL,并收到一条不同的错误消息,似乎它可能会导致某个地方:索引未定义,添加 \".indexOn\": \"uid\",对于路径 \"/shoppingCart\",到规则
-
我也很怀疑。 ;-) 很高兴听到你把它修好了。想要发布自我回答吗?
标签: firebase rest firebase-realtime-database axios