javascript - ajax onclick事件第一次获取错误结果,但第二次获取正确结果

标签 javascript php ajax

问题是,当我单击按钮获取下一个问题(即第二个问题)时,第一个问题现在使用 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/

相关文章:

php - 比较两个函数的结果,如果相同则隐藏结果

javascript - 在表单提交上执行 jQuery/ajax POST

javascript - 为什么我的 FormData 对象是空的?

javascript - socket.io 服务器对象选项,两者之间有什么影响?

javascript - Backbone.js: 将 View 、集合、模型分离到不同的js文件中,它们不能相互识别

javascript - JS 不适用于仅从 ajax 加载的数据

ajax - 浏览器不重定向

JavaScript Canvas——是否可以依赖Math.random进行绘制?

javascript - "How to ' 重新加载唯一的局部 View ' part after submitting the form with HTML Helper in jquery?"

php - Yii2 和 OAuth2 插件 Filsh/yii2-oauth2-server : Unauthorized when sending POST data