Apex in AJAX
AJAX Toolkit には、匿名ブロックや webservice 公開メソッドを使用して Apex を起動するためのサポートが組み込まれています。
匿名ブロックや webservice 公開メソッドを使用して Apex を起動するには、AJAX コードに次の行を含めます。
1<script src="/soap/ajax/45.0/connection.js" type="text/javascript"></script>
2<script src="/soap/ajax/45.0/apex.js" type="text/javascript"></script>Apex を起動するには、次の 2 つのメソッドのいずれかを使用します。
- sforce.apex.executeAnonymous (script) を使用して匿名で実行します。このメソッドは API の結果型と似た結果を返しますが、JavaScript 構造として返します。
- WSDL クラスを使用します。たとえば、次の Apex クラスをコールします。
1global class myClass { 2 webservice static Id makeContact(String lastName, Account a) { 3 Contact c = new Contact(LastName = lastName, AccountId = a.Id); 4 return c.id; 5 } 6}次の JavaScript コードを使用します。
1var account = sforce.sObject("Account"); 2var id = sforce.apex.execute("myClass","makeContact", 3 {lastName:"Smith", 4 a:account});execute メソッドはプリミティブデータ型、sObjects、プリミティブデータ型または sObjects のリストを使用します。
パラメータを指定せずに webservice メソッドをコールするには、sforce.apex.execute の 3 つ目のパラメータに {} を使用します。たとえば、次の Apex クラスをコールするとします。
1global class myClass{ 2 webservice static String getContextUserName() { 3 return UserInfo.getFirstName(); 4 } 5}次の JavaScript コードを使用します。
1var contextUser = sforce.apex.execute("myClass", "getContextUserName", {});どちらの例も、メソッドの戻り値を表すネイティブな JavaScript 値となります。
デバッグ���報を含むポップアップウィンドウを表示するには、次の行を使用します。
1sforce.debug.trace=true;