AJAX - onreadystatechangeイベント
onreadystatechangeイベント
要求がサーバに送信されると、応答に基づいて、我々はいくつかのタスクを実行する必要があります。
たびreadyStateの変更は、onreadystatechangeイベントがトリガされます。
そこのXMLHttpRequestのreadyStateプロパティのステータス情報。
ここで、XMLHttpRequestオブジェクトには、3つの重要な特性です。
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState | 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status | 200: "OK" 404: 未找到页面 |
onreadystatechangeイベントでは、タスクが実行されたときに処理する準備ができたときに、サーバが応答することを必要とします。
ときのreadyStateおよび200から4に等しい状態、応答レディ:
例
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
»をお試しください
注:onreadystatechangeイベントは、readyStateの変化のそれぞれに対応し、5回(0--4)がトリガされます。
コールバック関数の使い方
別の関数にパラメータとして渡されたコールバック関数です。
複数のAJAXのタスクがサイト上に存在する場合は、 標準関数を記述するためにXMLHttpRequestオブジェクトを作成する必要があり、および機能は、各AJAXのタスクのために呼ばれています。
URLは、関数呼び出しが含まれている必要があり、作業はonreadystatechangeイベントを行った(各呼び出しは変更になる場合があります)発生します。
例
function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}
»をお試しください