0

也许我在这里遗漏了一些简单的东西,但这让我感到沮丧。所以我需要做的是在单击链接周围的这个 div 时更新我的​​服务器上的某些内容(我正在通过分析进行单击)。我想我会做一个点击事件并做一个ajax调用(通过get)。

$.get("stat/418491289);

但问题是,没有拨打电话。用户被发送到下一页并且未调用 get 调用未完成/调用。我会知道,因为在服务器上它会更新数据库。也许我不应该进行 ajax 调用,或者我应该做些什么,但我不确定。我现在无法暂停链接操作,因为它包含在 div 中。理想情况下,我想做的是关闭请求,然后不用担心。更新统计数据并不重要,所以如果它在 1% 的时间内不能正常工作,那就没问题了。我该怎么做?

我想我可能不是很清楚。我要问的是:在浏览器转到链接页面之前,我可以通过 javascript 向我的服务器发出请求吗?我不在乎响应是什么,我只需要发送请求。

4

3 回答 3

2

如果我清楚地理解了这个问题,您需要使用它preventDefault来取消链接的默认行为,例如

$("#linkID").click(function(e){
 e.preventDefault();
 //ajax call here
});

或放一个return false;

$("#linkID").click(function(){

     //ajax call here
     return false;
    });
于 2012-04-29T22:00:24.593 回答
1

您是否检查了页面的网络流量以查看是否完全发出了 get 请求(而不是由服务器处理)?可能 URL 不正确,您会收到 404 响应。

这也可能是您处理点击事件的方式。如果您的 ajax 请求是从 div 点击处理程序发出的,并且用户正在点击一个链接 (),那么该链接将首先处理将用户带到页面的点击。我不确定默认链接处理程序是否会将点击传播到父元素。

如果这是问题所在,可能更容易查看一些代码来帮助找到问题。

于 2012-04-29T21:49:53.497 回答
1

您的网址缺少第二个引号。

于 2012-04-29T21:58:09.993 回答