-1

我正在使用 AJAX 来呈现计算结果。我调用一个返回结果的 PHP 文件,然后将其呈现在网页上。

有时计算需要很长时间,页面会卡住,直到 AJAX 调用返回结果。

有没有办法使用 ajax,并且仍然能够在网页上执行其他操作,而不必等到 AJAX 调用返回。

我正在使用这个 AJAX 调用函数(我知道的标准函数)。

function GetCalculation(str)
{
    var result ;
    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {        
            result = xmlhttp.responseText ;             
        }
    }

    xmlhttp.open("GET","GetRouts.php?q="+str,false);
    xmlhttp.send();
    result = xmlhttp.responseText ;
    return result;
}
4

2 回答 2

0

如果您需要您的 javascript 处理您需要等待回调的请求发送的数据,那么 Ajax 是异步的。如果您不需要处理请求中的数据(例如动画等),您可以在此函数之外编写代码。

于 2012-07-16T09:52:10.090 回答
0

Yes, just pass true as the third parameter to open, then process the result in the onreadystatechange event instead.

于 2012-07-16T09:52:33.543 回答