2015-05-24 2 views
0

Может кто-то пожалуйста, объясняющих с составляет $ SCE (впадина вполне понимают безопасность XSS) и как решить ошибку ниже

error: [$sce:itype] Attempted to trust a non-string value in a content requiring a string: Context: resourceUrl 

Эта ошибка возникает только тогда, когда JSON возвращается мульти измерение, когда JSON является многомерным я получаю выше, даже когда controllers.js в моем приложении выглядит:

.controller('SearchCategoryControl', function($scope, $stateParams, $http, $sce) { 
    var mycats = $stateParams.mycat 
    $http.get('http://SRHRadio.com/podcasts/categories/'+mycats).success(funtion(data) { 
    $scope.items = data; 
    $scope.audioURL = $scope.items.resourceURI + $scope.items.podcastfile 
    $scope.audioURL = $sce.trustAsResourceUrl($scope.audioURL);   

}); 

ResourceURI бы как http://127.0.0.1:80/Media и podcastfile: anil.mp3

+0

Не могли бы вы показать, что JSON у вас есть проблемы с? –

+0

Вы можете показать свой html? $ sce обычно вызваны привязкой HTML к вашему представлению из «ненадежных источников» – StickyCube

+0

@OlivierRodomond, ниже JSON: '[{« id »: 9,« title »:« first test podcast »,« metadata »: «тестовые метаданные для первого звука», «длина»: 13.25, «дата трансляции»: «2015-05-11T11: 05: 52 + 01: 00», «resourceURI»: «http://127.0.0.1:80/Media/"," podcastfile ":" sumith.mp3 "," categories ":" sports "}]'. Самое смешное, когда тот же JSON без [] он работает отлично –

ответ

1

Ну, у меня проблема, и в случае, если в будущем кто-то другой совершит ту же ошибку, я отвечу на свой вопрос:

: проблема . Поскольку это был массив, очевидно, $ scope.items = data; впадина имеет никакого смысла и должны были $scope.items = data[0]; и поэтому строка scope.audioURL = $scope.items.resourceURI + $scope.items.podcastfile была быть нулевой

Смежные вопросы