この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

JavaScript Remoting

JavaScript から Apex コントローラのメソッドをコールするには、VisualforceJavaScript Remoting を使用します。これにより、AJAX 機能を実装した標準 Visualforce コンポーネントでは実現できない、複雑で動的な動作を行うページを作成できます。

JavaScript Remoting を使用して実装された機能には、次の 3 つの要素が必要です。
  • JavaScript で記述される、Visualforce ページに追加するリモートメソッドの呼び出し。
  • Apex コントローラクラスのリモートメソッド定義。このメソッドは Apex で記述されますが、通常の action メソッドとはいくつかの重要な違いがあります。
  • JavaScript で記述される、Visualforce ページに追加または含めるレスポンスハンドラコールバック関数。
コントローラで���、Apex のメソッド宣言は、次のように @RemoteAction アノテーションが先頭に付加されます。
1@RemoteAction
2global static String getItemId(String objectName) { ... }
Apex @RemoteAction メソッドは static で、かつ global または public のいずれかである必要があります。
簡単な JavaScript Remoting 呼び出しの形式は次のようになります。
1[namespace.]controller.method(
2    [parameters...,]
3    callbackFunction,
4    [configuration]
5);
表 1. リモート要求の要素
要素 説明
namespace コントローラクラスの名前空間。組織に名前空間が定義されている場合、またはクラスがインストール済みパッケージに基づく場合は必須です。
controller Apex コントローラの名前。
method コールする Apex メソッドの名前。
parameters メソッドが取るパラメータのカンマ区切りのリスト。
callbackFunction コントローラからの応答を処理する JavaScript 関数の名前。匿名関数をインラインで宣言することもできます。callbackFunction ではメソッドコールの状況と結果をパラメータとして返します。
configuration リモートコールと応答の処理を設定します。Apex メソッドの応答をエスケープするかどうかを指定するなど、リモートコールの動作を変更する場合にこれを使用します。

詳細は、『Visualforce 開発者ガイド』の「Apex コントローラの JavaScript Remoting」を参照してください。