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

JavaScript Remoting

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

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

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