2008年12月3日水曜日

Ajaxにおけるコールバック関数

コールバック関数、とりわけAjaxに関してのものが、分かったような分からないようなモヤモヤ状態が漸く解消しました。
Itproの記事、「第3回 基本的なAjaxアプリケーションを作成してみよう(中編)」にありました。一部を転載しておきます。

<------ (以下が引用部分) ------>

 コールバック関数は,HTTP通信の状態が変化したタイミングで内部的に呼び出される関数です。コールバック関数を利用することで,以下のような処理を定義することが可能になります。

・応答待ちの状態を画面上に表示する
・サーバーから正常な応答を受け取ったタイミングでページの内容を更新する
・サーバーからエラーを受け取った場合にエラー・メッセージを表示する

 コールバック関数を定義するのは,onreadystatechangeプロパティの役割です。onreadystatechangeプロパティでは,

  xmlReq.onreadystatechange = showResponse;

のように,別に定義した関数名(ここではshowResponse)を指定することもできますが,本サンプルではよりシンプルに匿名関数を利用しています。匿名関数とは,その名の通り名前のない関数のことで,以下のようにプロパティ値に直接格納することもできます。

  xmlReq.onreadystatechange = function() {


...関数定義...


}

<------ (以上が引用部分) ------>

要は、onreadystatechangeプロパティに、関数名(関数のアドレス?)を設定することにより、その関数が
サーバからコールバックされるということ。

0 件のコメント:

ただいま作業中

2022/04/13 MySTの翻訳環境作り サイドメニューをプログラムで変換可能にすること 作業の中心場所 – jupyter notebook : g:\jupyter\python pythonをwebでも可能に – g:\webapp\Doc-tools ...