我想在页面链接中实现以下行为。
当点击链接时,我想要:
- 首先,将一些数据发送(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¶m2=value", // ¶m3=value... etc.
});
});
完成后,将遵循链接的默认操作。
关于jquery - (JQuery) 如何在点击链接之前调用自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694876/