因此,对于我正在构建的AngularJS应用程序,我们之前使用本地JSON文件使用路由将数据导入应用程序。
storiesControllers.controller('StoryDetailCtrl', ['$scope', '$sce', '$http', '$location', '$routeParams', function($scope, $sce, $http, $location, $routeParams) {
$scope.storyID = $routeParams.storyID;
$http.get('/story/'+$routeParams.storyID+'.json')
.success(function(data) {
$scope.story = data;
});
}]);
但是,我们现在将直接从服务器获取数据。下面只有一行更改:
storiesControllers.controller('StoryDetailCtrl', ['$scope', '$sce', '$http', '$location', '$routeParams', function($scope, $sce, $http, $location, $routeParams) {
$scope.storyID = $routeParams.storyID;
$http.get('http://website.co.uk/?id='+$routeParams.storyID)
.success(function(data) {
$scope.story = data;
});
}]);
此方法适用于按类别过滤故事的顶层:
$http.get('http://mywebsite.co.uk/?category=CategoryName')
但就个人故事来说,它是完全空白的,没有加载数据。
URL和参数正确且工作正常,服务器上的数据很好并且与本地文件完全匹配,那么为什么这不起作用?
我错过了一些非常明显的东西吗?
答案 0 :(得分:2)
好的,答案实际上是由我的一位同事发现的。事实证明,而不是:
$scope.story = data;
我需要使用:
$scope.story = data[0];
我不确定方括号0的相关性,但它似乎修复了它!