电子商务-我如何从一个数据层读取信息,用javascript
e commerce - How can I read information from a dataLayer, with javascript?
Good morning people of stackoverflow :)
我在一个电子商务网站工作。我们的一个追踪伙伴需要安装一个函数名为"csAdd"。此函数读取客户购物车,然后上传信息。
我想为购物车中的每一行显示的是以下模板的信息:
myTag.csAdd('Sku1',
'Sku1Quantity',
'',
'Sku1Quantity*ItemSinglePrice',
'ItemSinglePrice',
'');
Sku2、Sku3等也一样
结果*如下所示:
<script>
myTag.csAdd('136340026',
'2',
'',
'90',
'45',
'');
myTag.csAdd('774595138',
'1',
'',
'49.99',
'49.99',
'');
</script>
请注意,一些单引号是空的,这不是一个错误,我们的跟踪脚本需要空引号的信息不存在(例如项目成本不含增值税)。
*我的问题是:我不知道如何告诉javascript"为购物车中的每一行,请通过csAdd发送给我信息"
所需的信息已经显示在一个数据层,所以我认为javascript"可以"读这个:
<script>
dataLayer = [{
'pageTitle': 'BasketPage',
'basketId': '2241121',
'admincosts': '5,5',
'basketTotal': '145.49',
'basketProducts': [{
'sku': '136340026',
'name': 'Jean',
'price': '90.00',
'quantity': '2'
},{
'sku': '774595138',
'name': 'Jacket',
'price': '49.99',
'quantity': '1'
}]
}];
</script>
但是我该怎么做呢?提前感谢您的时间和帮助。
所以你有一个json对象的数组dataLayer,它包含属性'basketProducts',这是一个数组。您需要两个for循环(每个数组一个)。在第二个(嵌套的)循环中,调用myTag.csAdd()方法,传递篮产品[bProd]数组中每个产品所需的属性值。
for (var i = 0; i < dataLayer.length; i++) {
var bProd = dataLayer[i].basketProducts;
for (var j = 0; j < bProd.length; j++) {
myTag.csAdd(
bProd[j].sku,
bProd[j].quantity,
'',
bProd[j].quantity * bProd[j].price,
bProd[j].price,
''
);
}
}
相关文章:
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- 将节点数据分配给另一个变量jstree
- 用javascript将数据从一个窗口传递到另一个窗口
- 动态构建一个数据表与scriplets
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 让谷歌数据图表有一个24小时x轴
- 如何创建一个包含许多数组和数据的json对象
- 如何使用另一个字符串作为模板从字符串中提取数据
- 如何将JavaScript变量的数据传递到另一个php页面
- 在条形图中呈现数据AngularJS,如何制作一个好的多条形图
- 使用数据属性将HTML数据复制到另一个元素
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 订阅一个具有角度的websocket的连续数据
- d3.csv有很多数据,只画了一个月
- 如何从另一个序列或数据中获取值
- 当单元格内容由于forumula从另一个工作表编译数据而更改时发送电子邮件
- 需要一个用于AJAX的Javascript库,其中包含多部分/表单数据
- 用ng重复或ng模型填充一个文本区域,这样它就不会用迭代的数据一个接一个地创建新的文本区域
- 如何将行数据一个接一个地附加到表中