输出 JSON-LD 脚本,通过 angularjs $http 加载

Output JSON-LD script, loaded via angularjs $http

我正在尝试通过 $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>

我可以在网络检查器中看到输出(在 "Elements" 选项卡上),但是当我 运行 一个 [检查],1 它什么也没显示。

通过 javascript 创建 script 标签,然后设置 html,也无济于事。 我还找到了通过 AJAX 加载 JSON-LD 的示例:it 工作正常。

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

您引用的结构化数据 linter 未评估 JavaScript。请尝试 Google's Structured Data Testing Tool