Я создал службу, которая импортирует JSON и использует ее для заполнения HTML-шаблона. Я сделал это, прежде чем успешно с различными приложениями. На этот раз я получаю сообщение об ошибке:
SyntaxError: Unexpected token /
at Object.parse (native)
Я почти уверен, что проблема не в моем JSON, поскольку я использовал тестовый JSON, который работал в другом приложении, и я получил ту же ошибку.
Мой соответствующий код:
app.js:
var app = angular.module('ClimbLog', []).config(function($sceProvider) {
// Completely disable SCE
$sceProvider.enabled(false);
});
getClimblogs.js:
app.factory('getClimblogs', ['$http', function ($http) {
return $http.get('http://localhost:8000/exampleJSON.json')
.success(function (data) {
return data;
})
.error(function (err) {
return err;
});
}]);
контроллер:
app.controller('MainController',['$scope', 'getClimblogs', function ($scope, getClimblogs){
getClimblogs.success(function (data) {
$scope.climbLogs = data.climbs;
});
}]);
JSON:
{"climbs":[{
"climbID":"xxxxxx",
"date":"Aug. 10, 2015",
"location":"Portland,ME",
"routeName":"Trendsetter",
"type":"Traditional",
"grade":"5.10b",
"partner":"Sarah Smokeshow",
"challengeLevel":8,
"time":6.05,
"notes":"Finally got a chance to send this guy!",
"photo": "https://photoUrl"
},
{
"climbID":"yyyyyy",
"date":"Aug. 10, 2015",
"location":"Brunswick,ME",
"routeName":"Poopmobile",
"type":"Boulder",
"grade":"V10",
"partner":"Sarah Smokeshow",
"challengeLevel":10,
"time":4.05,
"notes":"I'm beat..",
"photo": "https://photoUrl"
}
]}
Я идиот. У меня был комментарий в верхней части файла JSON. Я привык отмечать каждый файл комментариями внутри.
Как только я избавился от этого, он сработал.
JSON.parse
внутреннего использования. попробуйтеJSON.parse(payload)
выполнитьJSON.parse(payload)
, чтобы проверить, правильно ли отформатирована ваша полезная нагрузка.