Привет, я использую angularjs и хочу получить данные из локально построенного json файла. Я пытался использовать $ http, но не повезло. не могли бы вы рассказать об альтернативном методе
$http.get("job.json")
.success(function(response) {
$scope.big=response;
});
это метод, который я использовал, и это мой json-код
{ "days": [{ "dayname": "Sun,23 Aug 2015", "date": "2015-08-23", "hours": "hoursArray(array24)" }, { "dayname": "Mon,24 Aug 2015", "date": "2015-08-24", "hours": "hoursArray(array24)" }, { "dayname": "Tue,25 Aug 2015", "date": "2015-08-25", "hours":"hoursArray(array24)" }, { "dayname": "Wed,26 Aug 2015", "date": "2015-08-26", "hours": "hoursArray(array24)" }] }
вы должны использовать заводскую функцию углового js, т.е. ниже полного файла javascript. oh, кстати, я исправляю вашу синтаксическую ошибку json. вы должны указать оба значения, если используете тип объекта.
var mockDataForThisTest = "json=" + encodeURI(JSON.stringify([
{
"dayname": "Sun,23 Aug 2015",
"date": "2015-08-23",
"hours": "hoursArray(array24)"
},
{
"dayname": "Sun,23 Aug 2015",
"date": "2015-08-23",
"hours": "hoursArray(array24)"
},
{
"dayname": "Sun,23 Aug 2015",
"date": "2015-08-23",
"hours": "hoursArray(array24)"
},
{
"dayname": "Sun,23 Aug 2015",
"date": "2015-08-23",
"hours": "hoursArray(array24)"
}
]));
var app = angular.module('myApp', []);
function PeopleCtrl($scope, $http) {
$scope.people = [];
$scope.loadPeople = function() {
var httpRequest = $http({
method: 'GET',
url: '/echo/json/',
data: mockDataForThisTest
}).success(function(data, status) {
$scope.datas = data;
});
};
}
вот пример примера HTML, чтобы показать свой json
<div ng-app="myApp">
<div ng-controller="PeopleCtrl">
<p> Click <a ng-click="loadPeople()">here</a> to load data.</p>
<table>
<tr>
<th>Id</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr ng-repeat="data in datas">
<td>{{data.dayname}}</td>
<td>{{data.date}}</td>
</tr>
</table>
</div>
</div>
Используете ли вы Chrome-браузер?
Если да, проблема должна быть проблемой веб-безопасности в хроме.
Попробуйте запустить хром, используя
" chrome.exe --user-data-dir =" C: /Chrome dev session "--disable-web-security " из вашей команды Run.
Затем откройте файл в этом браузере. вы сможете это получить.
locally built
? Вы построили это на клиенте, браузере? Зачем вам нужно использовать $ http для удаленного вызова, если файл уже есть где-то локально?