使用Angular js,我想从远程位置的json文件中检索数据。这是我的代码。请告诉我,由于无法获取数据,我错过了什么。
我的观点
<body ng-controller='companyController as comctrl'>
<div>
<ul>
<li ng-repeat="com in comctrl.companies" ng-bind="com.name"></li>
</ul>
</div>
</body>
我的控制器
app.controller('companyController', ['$http',
function($http)
{
this.companies = [];
$http
.get('https://dl.dropboxusercontent.com/u/28961916/companies.json')
.success(function(data)
{
this.companies=data;
});
}
]);
JSON文件
{
businesses: [
{
id: 3184,
name: "Nintoreion Soft Pvt Ltd",
status: 'Private',
turnover: 500,
domain: 'Software Technology'
},
{
id: 3489,
name: "Prandeious Solutions",
status: 'Public',
turnover: 300,
domain: 'Software Technology',
},
// so on
]}
答案 0 :(得分:0)
this
没有引用回调中的控制器。尝试...
app.controller('companyController',['$http',function($http){
var self = this;
this.companies=[];
$http.get('https://dl.dropboxusercontent.com/u/28961916/companies.json').success(function(data){
self.companies = data;
});
}]);
JSON也无效(属性需要双引号)。使用类似http://jsonlint.com/的内容来验证它。
答案 1 :(得分:0)
我会选择
app.controller('companyController', ['$scope', '$http',
function($scope, $http)
{
$scope.companies = [];
$http
.get('https://dl.dropboxusercontent.com/u/28961916/companies.json')
.success(function(data)
{
$scope.companies = data;
});
}
]);
使用$scope
代替this
。