Manual:Ajax/ja
From MediaWiki.org
MediaWikiはエクステンションの使用のためにAJAXインターフェイスを提供します。次のように使用されます:
- LocalSettings.phpで
$wgUseAjax = true;を設定します(エクステンションでAjaxが必要な場合、$wgUseAjaxがtrueであることをチェックして下さい。そうでなければfailします) - エクステンションのセットアップコードで、Ajaxを通した使用のために関数を登録します:
$wgAjaxExportList[] = "myExtensionFunction";関数名はクラス内部で定義された関数を参照するために::を含むことがあります。- あなたが登録したハンドラ関数は
sajax_do_call(もしくは個別に、rsargs[])に渡されるパラメータのリストで呼び出されます。下記をご覧下さい。 - あなたが登録したハンドラ関数は文字列(JavaScriptコードで要求される典型的なフォーマットはHTML、XML、JSON)、もしくは単独の原文の値のどちらかを返します。リスポンスのHTTPヘッダーを通したより高度なコントロールに関しては 、とりわけレポートされたcontent type、キャッシュコントロールなどに関しては、関数はAjaxResponseのインスタンスを返します。
- あなたが登録したハンドラ関数は
- エクステンションのJavaScriptコードにおいて、PHP関数を呼び出すことができます:
sajax_do_call( "myExtensionFunction", [a, b] , callback );aとbはmyExtensionFunctionが要求する2つのパラメータになり(いくつでもパラメータを用意できます)、callbackはXMLHttpRequestとして取得するJavaScript関数です - これは標準的なAjaxコールバックで、すなわち、この関数はリクエストの状態が変更されるときはいつでも呼び出されます。- sajax_do_callはindex.phpを呼び出す
action=ajaxモードです。これは2つの追加パラメータを使用して引数を渡します:rs(関数名、例えば、"myExtensionFunction")、とrsargs[]です(パラメータに対して、場合によって繰り返されます、例えば、rsargs[]=a&rsargs[]=b)。
- sajax_do_callはindex.phpを呼び出す
[edit] AjaxResponse
AjaxResponseリスポンスクラスはAjaxResponse.phpで定義されます。これはAjaxハンドラ関数によって送られたリスポンスを表し、content type、キャッシュコントロールなどを指示するHTTPヘッダーと同様に、実際のリスポンステキストを制御します。
未解決の詳細なドキュメントに関しては、下記のソースをご覧下さい。
[edit] 外部リンク
XMLHttpRequestに関する一般的な情報:

