这是使用js,java。
打开与另一个域上的数据库的连接的最佳方法示例,即时通讯使用gtm将数据推送到数据库,我只有前端访问权限,但我可以访问另一个域上的数据库,如何从其他数据库获取数据到gtm时gtm只允许js没有php编码,因此日期可以是动态的,因为我需要推送的数据来自外部数据库。
提前致谢
<script>
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="Data Source=<server>;Initial Catalog=<catalog>;User ID=<user>;Password=<password>;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("SELECT * FROM table", connection);
rs.MoveFirst
while(!rs.eof)
{
document.write(rs.fields(1));
rs.movenext;
}
rs.close;
connection.close;
dataLayer.push({
'usersigendup': 'some-value',
'productID2': 'some-value2',
'productID3': 'some-value3',
});
</script>
上面的代码不起作用,但基本上我怎样才能实现这个&#34;某些价值&#34;成为从DB中获取的价值的结果。这是我到目前为止发现的谷歌搜索
答案 0 :(得分:1)
GTM没有用于跟踪的服务器端API,因此您无法直接发送数据(您也不希望将数据库凭据提供给客户端脚本)。
您可以创建一个从数据库中提取数据的服务器端脚本。然后通过返回数据库结果的URL使其可用。然后,使用连接到新端点的JavaScript创建自定义HTML标记,获取响应并将其解析为随后在跟踪标记中使用的变量。
当端点没有响应时,您需要确保脚本仍然可以正常工作(或正常终止)。
他的Simo Ahava demonstrated the technique in an older article,唯一的区别是,您不必使用像weather API这样的可用网络服务,而是必须创建自己的服务来返回数据库结果。