关于为什么以下代码在使用FF时完全“发布”的任何想法(我可以看到数据库更新)但在Chrome上失败了?
$("a").click(function() {
$.post("ajax/update_count.php", {site: 'http://mysite.com'});
});
提示:jQuery版本为jquery-1.4.3.min.js
的更新 的
问题似乎是当点击链接时,会加载一个新页面,这似乎会阻止Chrome中的帖子...这是一个可能的解释吗?如果是这样,我该怎么办?
答案 0 :(得分:4)
您需要阻止<a>
的默认行为。使用此:
$("a").click(function (e) {
e.preventDefault();
// Your code
});
或者,如果您确实希望链接加载新页面,您可以尝试:
$("a").click(function (e) {
e.preventDefault();
var href = this.href;
// Might want to put a "loading" spinner on the page here
$.post("whatever", {}, function () {
window.location.href = href;
});
});
可能需要稍微更改一下 - 也许使用$(this).attr("href")
或$(this).prop("href")
,而不是this.href
...评估的差异可能会或可能不会与window.location.href
一起使用(我确定两者都这样做。)