0

Web ページで単純な AJAX 呼び出しを使用しました。
彼のウェブページはこんな感じです。送信ボタンをクリックすると、JavaScript はテキスト ボックスのデータをサーバーに送信し、応答を div に表示します。

私のAJAXコードは次のとおりです。

var xmlHttp = null;
var api="getdetails.jsp?id=";
var theUrl=api.concat(theId);
xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send();
document.getElementById("details").innerHTML=xmlHttp.responseText;

しかし問題は、AJAX 応答を待っている間に Web ページが非アクティブになることです。つまり、ユーザーはテキスト ボックスに入力したり、他のリンクをクリックしたりすることはできません。応答が受信されるまで、何もできません。

応答を待っている間、Web ページを機能させるにはどうすればよいですか? マルチスレッドやその他の方法を採用する必要がありますか?

4

1 に答える 1

1

を設定して、ajax リクエストを非同期にする必要があります。

xmlhttp.open("GET",theUrl,true);
リクエストの 3 番目のパラメータを true にします。

このラインも

document.getElementById("詳細").innerHTML=xmlHttp.responseText;

で書くべき

xmlHttp.onreadystatechange
状態の変化が発生し、結果が responseText で利用可能になると、u だけが dom 要素を設定できるようになります。ajax の使用に関するドキュメントをよく読んでください。

この例を参照してください http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

于 2012-08-16T07:01:21.730 に答える