来自Javascript的AJAX调用第一次不起作用,但每次连续工作

时间:2015-03-07 20:55:12

标签: javascript ajax

我在javascript函数中使用AJAX调用来填充SELECT输入。这个脚本第一次不起作用,但是在我调用它的每个后续时间都可以工作。相关代码如下:

function getXMLHttp()
{
    var xmlHttp;

    try
    {
        //Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
    catch(e)
    {
        //Internet Explorer
        try
        {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e)
            {
                alert("Your browser does not support AJAX!")
                return false;
            }
        }
    }
    return xmlHttp;
}

function populateEntries(menu, userName, entryRow)
{

    var xmlHttp = getXMLHttp();

    xmlHttp.onreadystatechange = function()
    {
        if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200) && (xmlHttp.responseText == ""))
        {
            window.alert("There are no records to view!");      }
        else if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200))
        {
            response = xmlHttp.responseText;
        }
    }
    xmlHttp.open("GET", "getUsers.php", true)
    xmlHttp.send(null);

    ADDITIONAL UNRELATED CODE FOLLOWS ....

}

我已经检查过"响应"正在从第一个函数调用期间的AJAX调用传递它,但它不会被传递出函数以便在后续代码中继续使用,除非在后续函数调用中。谁能告诉我为什么会这样?非常感谢您的帮助。在你告诉我这可以用jquery完成之前,请理解我需要用javascript来完成。

0 个答案:

没有答案