Выходной скрипт JSON-LD, загруженный через angularjs $http

Я пытаюсь получить и вывести данные JSON-LD на странице через $http следующим образом:

angular.element(document).ready(function(){        
        $http({
            url:'/product-init',
            method:'POST',
            data:{product_id:$scope.product_id}
        }).then(function(d){
            $scope.product= d.data;
            $scope.jsonLd={
              "@context":"http://schema.org",
              "@type":"Product"
              // atc.....
            }
            $('#json-ld-content').html(JSON.stringify($scope.jsonLd));
        },function(d){
            alert('product init error');            
        });
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script type="application/ld+json" id="json-ld-content"></script>

Я вижу вывод в веб-инспекторе (на вкладке «Элементы»), но когда я запускаю [проверку], 1 ничего не показывает.

Создание тега script с помощью javascript, а затем настройка html также не помогает. Также я нашел пример загрузки JSON-LD через AJAX: он отлично работает .

В чем разница между моим случаем и примером выше? Как исправить мой код? Заранее спасибо.


person Viktor    schedule 10.04.2015    source источник


Ответы (1)


Линтер структурированных данных, на который вы ссылались, не оценивает JavaScript. Вместо этого попробуйте Инструмент тестирования структурированных данных Google.

person Markus Lanthaler    schedule 11.04.2015
comment
На самом деле, пример, который я нашел, использует JQuery и работает с этим линтером. Однако в моем случае инструмент Google работает. Спасибо :) - person Viktor; 15.04.2015