Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular controller中检索json数据_Javascript_Angularjs_Json - Fatal编程技术网

Javascript 在Angular controller中检索json数据

Javascript 在Angular controller中检索json数据,javascript,angularjs,json,Javascript,Angularjs,Json,我想从我的应用程序控制器中的JSON文件中获取几个值 我有一个JSON文件,看起来像这样: { "login": [ { "username": "admin", "password": "admin" } ], "header": [ { "subTitle": "Hello", "color": "red" } ] } app.c

我想从我的应用程序控制器中的JSON文件中获取几个值

我有一个JSON文件,看起来像这样:

{
   "login": [
      {
         "username": "admin",
         "password": "admin"
      }
    ],
    "header": [
       {
          "subTitle": "Hello",
          "color": "red"
        }
    ]
 }
app.controller('loginCtrl', function($http, $scope) {
   data = $http.get('data.json');
   console.log(data.login.username);
}
我正在尝试检索如下值:

{
   "login": [
      {
         "username": "admin",
         "password": "admin"
      }
    ],
    "header": [
       {
          "subTitle": "Hello",
          "color": "red"
        }
    ]
 }
app.controller('loginCtrl', function($http, $scope) {
   data = $http.get('data.json');
   console.log(data.login.username);
}

但是,我在控制台中得到的只是
TypeError:无法读取未定义的

的属性“username”,即使您的javascript是同步的,您所做的调用始终是异步的

data = $http.get('data.json');
data.then(function(result){
    console.log(result.login[0].username);
});
 $http.get('data.json').then(function (response) {
console.log(response.data)
});
因此,按照您的说法,javascript调用get函数,在返回结果之前,它执行以下
console.log(data.login.username)

所以你没有得到预期的结果

阅读关于
then()
谢谢,但是我在控制台中得到了“未定义的”。为什么否定?给出否定的人请解释我说错了什么。。