Javascript AjaxOnClick事件第一次获取错误结果,但第二次获取正确结果

Javascript AjaxOnClick事件第一次获取错误结果,但第二次获取正确结果,javascript,php,ajax,Javascript,Php,Ajax,问题是,当我单击按钮获取下一个问题(即第二个问题)时,第一个问题现在加载了onload函数,但它再次获取第一个问题,之后,当我单击next时,它获取第二个问题。 现在,如果我想从另一个主题中获取问题,假设数学部分,我已经将变量的值设置为15,当我单击数学时,它首先递增问题,然后单击任何按钮,它仍然跳到问题15 var question = 1; function ajaxFunction (_direction) { var ajaxRequest; try {

问题是,当我单击按钮获取下一个问题(即第二个问题)时,第一个问题现在加载了
onload
函数,但它再次获取第一个问题,之后,当我单击next时,它获取第二个问题。 现在,如果我想从另一个主题中获取问题,假设数学部分,我已经将变量的值设置为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); 
}
var问题=1;
函数AJAX函数(_方向){
var ajaxRequest;
试一试{
ajaxRequest=新的XMLHttpRequest();
}第(e)款{
试一试{
ajaxRequest=newActiveXObject(“Msxml2.XMLHTTP”);
}捕获(e){
试一试{
ajaxRequest=新的ActiveXObject(“Microsoft.XMLHTTP”);
}捕获(e){
警告(“你的浏览器坏了!”);
返回false;
}
}
}
ajaxRequest.onreadystatechange=函数(){
if(ajaxRequest.readyState==4&&ajaxRequest.status==200){
var ajaxDisplay=document.getElementById('ajaxDiv');
如果(_方向=“”){
问题=1;
}如果(_方向=='next'){
问题++;

}否则,如果(_direction>=1&&&u direction那么,我没有放弃,而是自己得到了解决方案,我将在回答中发布此消息,以便其他人也有同样的问题。
我刚刚从onreadystatechange中删除了if-else条件,并将其放在函数上方,它对我起了作用。

好吧,我没有放弃,我自己得到了解决方案,我将在回答中发布此条件,以便其他人也有同样的问题。
我刚刚从onreadystatechange中删除了if-else条件,并将其放在函数上方,它对我起到了作用。

我遇到了一个类似的问题,通过将HTTP请求从asyncron设置为syncron解决了这个问题(请参阅)

你是用同样的方法解决问题还是找到了更好的方法


最好的问候,Reinhard

我遇到了一个类似的问题,通过将HTTP请求从asyncron设置为syncron解决了这个问题(请参阅)

你是用同样的方法解决问题还是找到了更好的方法

向你问好,莱因哈德