我正在尝试使用 ajax 函数在回调后刷新 div。基本上,我希望在 div #achievements_tab 中重新加载 /includes/view_game/achievements.inc.php 。回调(我没有将其包含在下面的代码中)运行良好,并触发下面找到的 AchievementRefresh 函数(div 的不透明度更改为 0.5,但它保持这样并且不会进行刷新) )。
这两个函数用于我的网站上另一个类似的 ajax 刷新,效果很好。所以我尝试修改代码,但由于目的略有不同,也许我的方法是错误的。
function AjaxPost(url, success_function) {
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null) {
alert("Your browser doesn't support AJAX. You should upgrade it!")
return
}
xmlHttp.onreadystatechange = success_function;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
}
这个AjaxPost函数在下面的其他函数中使用:
function AchievementRefresh() {
div('achievements_tab').style.opacity = 0.5;
div('highscore_pages').innerHTML = '<img src="'+site_url+'/images/loader.gif" />';
AjaxPost(site_url+"/includes/view_game/achievements.inc.php?", '',
function () {
div('achievements_tab').innerHTML = xmlHttp.responseText;
div('achievements_tab').style.opacity = 1;
}
)
}
最佳答案
使用加载
$('#achievements_tab').load('/includes/view_game/achievements.inc.php');
参见:http://api.jquery.com/load/
编辑 例如
function AchievementRefresh() {
$('#achievements_tab').css('opacity', 0.5);
$('#highscore_pages').html('<img src="'+site_url+'/images/loader.gif" />');
$('#achievements_tab').load('/includes/view_game/achievements.inc.php')
.success(function() {
$('#achievements_tab').css('opacity', 1);
});
}
关于javascript - ajax - 刷新 div 的 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885435/