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