0

我正在尝试通过 $http 在页面上获取和输出 JSON-LD 数据,如下所示:

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 也无济于事。我还找到了通过 AJAX 加载 JSON-LD 的示例:工作正常。

我的案例和上面的例子有什么区别?如何修复我的代码?提前致谢。

4

1 回答 1

0

您引用的结构化数据 linter 不会评估 JavaScript。请尝试使用Google 的结构化数据测试工具

于 2015-04-11T12:47:52.657 回答