-1

計算結果を表示するために AJAX を使用しています。結果を返す PHP ファイルを呼び出して、それを Web ページに表示します。

計算に時間がかかる場合があり、AJAX 呼び出しが結果を返すまでページがスタックします。

ajax を使用し、Web ページで他のアクションを実行する機能を取得し、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

はい、true3番目のパラメータとしてに渡して、代わりにイベントでopen結果を処理します。onreadystatechange

于 2012-07-16T09:52:33.543 に答える