2015-04-10 3 views
0

Я пытаюсь получить и вывод 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>

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

Создание сценария тегов на Javascript и затем установить HTML, не помогает, а также. Также я нашел пример загрузки JSON-LD через AJAX: it отлично работает.

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

ответ

0

Структурированные данные linter, на которые вы ссылаетесь, не оценивают JavaScript. Вместо этого попробуйте Google's Structured Data Testing Tool.

+0

На самом деле, пример, который я нашел, использует JQuery и работает на этом linter. Однако инструмент Google работает в моем случае. Спасибо вам :) – Viktor