简体   繁体   English

带有Firebase的Angular $ http.get

[英]Angular $http.get with firebase

I am trying to access information from my firebase database using the $http service. 我正在尝试使用$ http服务从我的Firebase数据库访问信息。 This is my code: 这是我的代码:

$http.get("my firebase url").then(function(res) {
    console.log(res);
});

But I am getting a cors error: 但是我收到了错误提示:

XMLHttpRequest cannot load https://console.firebase.google.com/project/...
Redirect from 'https://console.firebase.google.com/project/...' to
'https://accounts.google.com/ServiceLogin?passive=44&osid=1&continue=ht…
owup=https://console.firebase.google.com/project/.../database/data/' 
has been   blocked by CORS policy: No 'Access-Control-Allow-Origin' header is
present on   the requested resource. Origin 'null' is therefore not allowed access.  

I've tried googling the issue but I couldn't find anything that I understood. 我已尝试使用Google搜索该问题,但找不到我理解的任何内容。

Note: I am a firebase and angular noobie. 注意:我是一个火力发烧友和有角度的菜鸟。

I hope this helps. 我希望这有帮助。

You will need to consider 3 things: 您将需要考虑以下三件事:
1. On the URL use your FB domain not the console "Ex: https://YOUR_DOMAIN.firebaseio.com/ .." 1.在URL上,使用FB域而不是控制台“ Ex: https : //YOUR_DOMAIN.firebaseio.com/ ..”
2. At the end, you will need to extend the url to .json "Ex: ../settings/app .json " 2.在结束时,你将需要扩展的URL以.json“例如:../settings/app 以.json”
3. And you will need to add the respective rules to allow access: 3.并且您将需要添加相应的规则以允许访问:
Ex: 例如:

{
    "rules": {
        ".read": "auth != null",
        ".write": "auth != null",
        "settings": {
            "app": {
                ".read": true,
                ".write": false
            }
        }
    }
}

Then you can use your $http, as in my example: 然后,您可以使用$ http,如我的示例所示:

$http.get("https://YOUR_DOMAIN.firebaseio.com/settings/app.json")

在此处输入图片说明

Example here : https://jsfiddle.net/moplin/1124204w/ 这里的例子: https : //jsfiddle.net/moplin/1124204w/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM