У меня есть несколько файлов JSON в одном каталоге, и я собираюсь создать содержимое представления из этих файлов JSON. Файлы JSON идентичны по структуре.Подстановочный знак в Angular http.get?
Каков правильный синтаксис для загрузки нескольких файлов JSON для использования с ng-repeat
? Я попытался с этим, но он выдает ошибку с отклонениями в разрешении (просмотр загружается по маршруту, если это имеет значение. Все еще изучается Угловое ...).
Я использую эти:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular-route.min.js"></script>
Snippet с точки зрения:
<div ng-controller="releases">
<article ng-repeat="album in albums">
{{ album.artist }}
</article>
</div>
Контроллер:
myApp.controller('releases', function($scope, $http) {
$scope.albums = [];
$http.get('contents/releases/*.json')
.then(function(releases) {
$scope.albums = releases.data;
console.log($scope.albums);
});
});
Файлы JSON, как это:
{
"artist" : "Artist name",
"album" : "Album title",
"releaseDate" : "2015-09-16"
}
Сообщение об ошибке:
You don't have permission to access /mypage/angular/contents/releases/*.json on this server.
Если я использую точное имя файла, например $http.get('contents/releases/album.json')
, я могу получить доступ к данным правильно. Но, естественно, только для одного JSON вместо 11 файлов, которые у меня есть.
На предыдущем сайте, который я сделал с PHP, я использовал идентичный метод, и там я мог получить доступ к тем же файлам без проблем. Для обоих я использую WAMP-сервер (Apache 2) в качестве платформы.
Может ли это что-то сделать с конфигурацией Apache? Поэтому я не думаю, что это то, что, потому, что он работает в PHP, как это:
// Get release data
$releasesDataLocation = 'contents/releases/*.json';
$releasesDataFiles = glob($releasesDataLocation);
rsort($releasesDataFiles); // Rsort = newest release first, comment out to show oldest first
// Show the releases
foreach($releasesDataFiles as $releaseData) {
$release = new Release($releaseData);
$release->display();
}
Я думаю, что лучше просто объединить файлы JSON в один более крупный источник, так что существует только один JSON-файл. Как говорит Ашутош Упадхай в ответ? Он может сэкономить некоторые запросы, так как сам файл по-прежнему довольно мал (24 КБ). –