哪种方法是用js、java打开与另一个域上的db的连接的最佳方法。
例如,我使用gtm将数据推送到datalyer,我所拥有的只是前端访问权限,但是我可以访问另一个域上的数据库,当gtm只允许js而不允许php编码时,如何从另一个数据库获取数据到gtm,这样日期就可以是动态的,因为我需要推送的数据来自外部数据库。
提前谢谢
<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>
上面的代码不起作用,但基本上我如何才能实现“某个值”变成db中一个值的结果
1条答案
按热度按时间h22fl7wq1#
gtm没有用于跟踪的服务器端api,因此不能直接发送数据(也不希望将数据库凭据提供给客户端脚本)。
您可以创建一个服务器端脚本,从数据库中获取数据。然后通过返回数据库结果的url使其可用。然后用javascript创建一个自定义html标记,该标记连接到新端点,获取响应并将其解析为变量,然后在跟踪标记中使用。
当端点没有响应时,您需要确保脚本仍然工作(或正确终止)。
SimoAhava在他的一篇老文章中演示了这项技术,唯一的区别是,与使用像WeatherAPI这样的可用Web服务不同,您必须创建自己的服务来返回数据库结果。