问题是,当我单击按钮获取下一个问题(即第二个问题)时,第一个问题现在使用 onload
函数加载,但之后,当我单击时,它会再次获取第一个问题接下来它会获取第二个问题。
现在,如果我想从另一个主题获取问题,假设数学部分,我将变量的值设置为 15,当我单击数学时,它首先会递增问题,之后无论我单击什么按钮,它仍然会跳转到问题 15。
var question = 1;
function ajaxFunction (_direction) {
var ajaxRequest;
try {
ajaxRequest = new XMLHttpRequest();
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function () {
if (ajaxRequest.readyState == 4 && ajaxRequest.status== 200) {
var ajaxDisplay = document.getElementById('ajaxDiv');
if (_direction=='') {
question=1;
} else if (_direction=='next') {
question++;
} else if (_direction>=1 && _direction <=90) {
question = _direction;
}
}
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
ajaxRequest.open("GET", "ajax-example.php?q="+question, true);
ajaxRequest.send(null);
}
最佳答案
好吧,我还没有放弃,自己找到了解决方案,我将其发布为答案,以便其他人遇到同样的问题。 我刚刚从 onreadystatechange 中删除了 if else 条件并将其放置在函数上方,它对我有用。
关于javascript - ajax onclick事件第一次获取错误结果,但第二次获取正确结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35817243/