如何从angularjs工厂中的json文件访问数据并返回

时间:2016-10-07 06:38:39

标签: angularjs json

包含我的app_key和app_secret的json文件,我已经编写了工厂服务,以便在任何地方提供app_key和app_secret。但我的格式不正确 这是我的工厂方法

.factory('UserService', function($http) {
        var obj ={}; 
        $http.get('config.json').success(function(data) {
            obj.app_key = data.app_key;
            obj.app_secret=data.app_secret;
        })
        console.log(obj);
        return {
            app_key : obj.app_key,
            app_secret : obj.app_secret
        }
    })

这是我的config.json文件

{
    "url": "",
    "app_key": "myappkeycode",
    "app_secret": "appsecretcodehere"
}

我想通过userService.app_keyuserService.app_secret随处访问我的应用密钥和应用密钥 我做错了什么不知道我得到了对象但是采用以下格式

Object {}
app_key:"appkeycoming keyhere",
app_secret:"appsecretcominghere"

当你看到第一个对象是空的时,这是行不通的。

1 个答案:

答案 0 :(得分:0)

$http.get是异步调用。然后在设置成功函数之前调用app_keyapp_secret的值。

你应该用这个替换你的工厂

module.factory('userService', function() {
    var fac = {};

    fac.getConfig = $http.get('config.json');

    return fac;
});

并像这样称呼它

userService.getConfig().then(function(resp){
    var obj = {};
    obj.app_key = resp.app_key;
    obj.app_secret = resp.app_secret;
})