我如何设置它:
我想保存用户在网站中点击的链接。我想创建一个jquery函数,它会在每次单击链接时保存链接名称,然后在用户关闭站点后将信息写入数据库。
这听起来像是一种正确的方式。有人有样品吗?
由于有多个页面包含多个链接,我想在javascript中创建一个与Session变量等效的内容,这样每次用户点击一个链接时我都可以向它添加信息,并且只将一次信息发送到数据库,而不是每次都发送一次用户单击链接打开数据库连接并发送信息。
链接是产品,所以我想保存相关产品,所以我想保存相关的产品信息。也许我需要一个cookie呢?
答案 0 :(得分:1)
等到用户离开网站在理论上是好的,但从未在实践中。因为您无法确切知道用户何时离开 - 或者可能是迟到(例如用户关闭计算机)。您真正想要做的是跟踪用户发生的操作使用ajax。
要执行此操作,您需要为每个用户会话分配唯一的ID。 ASP.NET为您执行此操作(为站点的每个访问者创建了一个会话cookie。)使用ASP.NET会话标识符将为您节省大量工作。
每次用户执行您要保存的操作时,只需让jQuery对登录到您的数据库的服务进行ajax调用(您不关心返回)。
以下是有关自动SessionID MS Doc
的Microsoft文档或者只需使用以下代码获取唯一ID:
string sessID = System.Web.SessionState.SessionID;
答案 1 :(得分:0)
更简单的方法就是给用户提供唯一的cookie。在服务器上,您始终知道用户进入的页面。($_SERVER
中的php
)因此您的服务器端脚本可以将其保存在数据库中(SID
)。
答案 2 :(得分:0)
对旧版浏览器使用localStorage for HTML5浏览器或cookie。
$("a").click(function() {
car links = localStorage["links"];
links = JSON.parse(links);
links.push(this.href);
localStorage["links"] = JSON.stringify(links);
});
然后听取onbeforeunload事件并对浏览器进行ajax调用,向其发送localStorage [“links”] JSON。