これで、最初のAjax関数を書き終えたところです。私はそれをすべてグーグルチュートリアルとw3schoolsから行いました、そしてそれはついに機能しています。唯一の問題は、何が起こっているのかという論理を完全に理解しておらず、説明を探していることです。
これが私の完全なコードです
function loadPlayer(id)
{
var xmlhttp;
if (window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest();
else if(window.ActiveXObject)
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
document.getElementById("newPlayer").innerHTML=xmlhttp.responseText;
};
xmlhttp.open("GET","http://localhost:8084/gmustudent/players?id=" + id,true);
xmlhttp.send();
}
私の主な質問は、各ステートメントに関連するこのコードを書いた順序についてです。onreadystatechange関数内で応答テキストを取得し、それをnewPlayer divに配置しているため、混乱しています。ただし、実際にURLから非同期でデータを取得するのは、このステートメントの後でのみです。
まだ取得していない場合、応答テキストをdivに配置する方法がわからないため、混乱しています。私はそれがうまくいくのを見ます、私はただ理由を理解していません。ですから、ここで何が起こっているのかを簡単に説明していただければ幸いです。特に、私が自分のステートメントを書いている順序と、各ステートメントが実際に行っていることに関係しているためです。どうもありがとう!