我需要通过AJAX 每秒将赞加载到div中。
页面的名称应该是like.php?p = 0页面加载,likes.php?p = 1 1秒后,likes.php?p = 2 afrer 2秒,依此类推。
我的代码:
var loadLikes = function() {
var counter = 0;
var pageToLoad = 'likes.php' + "?p=" + counter;
$.ajax({
url: pageToLoad,
dataType: 'html',
success: function(html) {
counter++;
}
});
console.log(pageToLoad);
}
$(window).load(loadLikes);
setInterval(loadLikes, 1000);
控制台(奇怪的是,在我看来)显示 likes.php?p = 0 。
我做错了什么?
谢谢!
答案 0 :(得分:1)
似乎您需要在更新计数器后更新pageToLoad
,因为您的初始结果已存储在您的变量中,并且不再更改。
success: function(html) {
pageToLoad = 'likes.php' + "?p=" + ++counter;
}
答案 1 :(得分:1)
我认为你应该把计数器变量放在函数外面。否则每次此变量将重置为0
;
var counter = 0;
var loadLikes = function() {
var pageToLoad = 'likes.php' + "?p=" + counter;
$.ajax({
url: pageToLoad,
dataType: 'html',
success: function(html) {
counter++;
}
});
console.log(pageToLoad);
}
$(window).load(loadLikes);
setInterval(loadLikes, 1000);
答案 2 :(得分:-1)
你在'loadLikes'函数中使用'counter'变量,每次调用'loadLikes'时它都会得到0值。
你必须在'loadLikes'函数之外声明'counter'变量
volatile