Javascript Ajax响应总是在第一次调用后返回2

Javascript Ajax响应总是在第一次调用后返回2,javascript,ajax,response,Javascript,Ajax,Response,我正在尝试使用Ajax从数据库中获取更新的num。 主要功能是: function checkInvitations() { if (username ="-1") { username = document.getElementById("username").value; } req.open('GET', 'check_num_of_invitations.php?username='+username); req.onreadystatec

我正在尝试使用Ajax从数据库中获取更新的num。
主要功能是:

function checkInvitations() {
    if (username ="-1") {
        username = document.getElementById("username").value;
    }
    req.open('GET', 'check_num_of_invitations.php?username='+username);
    req.onreadystatechange = handleNumOfInvitationsResponse;
    req.send(null);
}
该函数是从HTML文件调用的…
被调用函数(
handleNumOfInvitationsResponse
):

}

请注意对
checkinvestments
的递归调用

第一次尝试时,响应返回4,一切正常,然后返回2。

谢谢

我在Internet Explorer 9中遇到了类似的问题,我通过在查询字符串中添加时间戳解决了这个问题:

 var url = 'check_num_of_invitations.php?username='+username+'&timestamp='+Date.now();
 req.open('GET', url);

你能给我们看一下给出响应的代码吗?如果(xmlhttp.readyState==4&&xmlhttp.status==200)…为什么只有4?谢谢你的回答,但是为什么会有帮助呢?顺便说一句,它是由Chrome测试的。这可能是因为缓存,但Chrome是正常的。没有帮助:(
 var url = 'check_num_of_invitations.php?username='+username+'&timestamp='+Date.now();
 req.open('GET', url);