使用js或java从mysql db获取数据,不使用php

时间:2018-01-18 16:16:33

标签: javascript java mysql google-tag-manager

这是使用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中获取的价值的结果。这是我到目前为止发现的谷歌搜索

1 个答案:

答案 0 :(得分:1)

GTM没有用于跟踪的服务器端API,因此您无法直接发送数据(您也不希望将数据库凭据提供给客户端脚本)。

您可以创建一个从数据库中提取数据的服务器端脚本。然后通过返回数据库结果的URL使其可用。然后,使用连接到新端点的JavaScript创建自定义HTML标记,获取响应并将其解析为随后在跟踪标记中使用的变量。

当端点没有响应时,您需要确保脚本仍然可以正常工作(或正常终止)。

他的Simo Ahava demonstrated the technique in an older article,唯一的区别是,您不必使用像weather API这样的可用网络服务,而是必须创建自己的服务来返回数据库结果。