jquery - (JQuery) 如何在点击链接之前调用自定义函数

标签 jquery

我想在页面链接中实现以下行为。

当点击链接时,我想要:

  • 首先,将一些数据发送(POST)回服务器
  • 其次,允许浏览器导航到链接指向的网址。

我对 JQuery 比较陌生,下面是我的第一次尝试。我将感谢这里的任何 jQuery 专家来填补空白(也许还指出如何改进下面的代码片段)。

<html>
<head>test page</head>
<body>
<div><a id="hotlink" href="http://www.example.com">Clik and see</a></div>
<script type="text/javascript">
$(document).ready(function(){
  $('hotlink').click(function(){
     //AJAX Post data here ...
     //follow the link url (i.e. navigate/browse to the link) ...
  });
});
</script>
</body>
</html>

最佳答案

您可能想看看我的answer to a similar question 。基本上,ajax post 默认情况下是异步的,并且在完成之前可能不会到达服务器。为了确保完成,您可以使其同步,但这会锁定浏览器,直到请求返回。如果您的服务器出现问题,这可能会产生很大的问题,可能需要一段时间并且用户正在等待点击链接。尽管如此,代码是:

$('#hotlink').click( function () { 
    $.ajax({ 
      async: false,
      type: "POST", 
      url: "http://myurl.com/mypage.php", 
      data: "param1=value&param2=value",  // &param3=value... etc. 
    }); 
}); 

完成后,将遵循链接的默认操作。

关于jquery - (JQuery) 如何在点击链接之前调用自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694876/

相关文章:

Firefox 中字符串操作的 JavaScript 错误

javascript - IE8 JS错误: Object doesn't support this property or method

jquery - AngularJS 数字和返回

Javascript 在悬停时切换到多个图像

javascript - 如何将scrollIt 与Meteor 一起使用?

jQuery $.ajax POST 多选选择

JQuery 变量语法 - 在表达式中使用变量

jquery - jquery ajax url 处未捕获语法错误意外标识符

jquery - 响应 slider 图像高度自动不接受 Chrome

javascript - JQuery tablesorter 附加数据不排序