我正在尝试使用ajax函数进行回调后进行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;
}
)
}
答案 0 :(得分:0)
使用load
$('#achievements_tab').load('/includes/view_game/achievements.inc.php');
请参阅:http://api.jquery.com/load/
修改强> E.g。
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);
});
}
答案 1 :(得分:0)
试试这个。
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
div('achievements_tab').innerHTML = xmlHttp.responseText;
div('achievements_tab').style.opacity = 1;
}
}
};`
名称和ID是示例。
此外,还有一些变化:
AjaxPost(site_url+"/includes/view_game/achievements.inc.php");
var params= 'name'+encodeURIComponent(name)+'&id='+encodeURIComponent(id)
参数不应该在URL中。
xmlhttp.send(params);