No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
サーバ側のアクションのコール
クライアント側コントローラは、名前-値のペアを含む JSON オブジェクトです。この名前はそれぞれクライアント側のアクションに対応します。この値は、アクションに関連付けられた JavaScript 関数です。
次のクライアント側コントローラには、サーバ側コントローラで serverEcho アクションを実行する echo アクションが含まれます。クライアント側コントローラに、サーバ側のアクションが返されたら呼び出されるコールバックアクションを設定します。この場合、コールバック関数がユーザにサーバから返された値を含むアラートを表示します。
1swfobject.registerObject("clippy.codeblock-0", "9");{
2 "echo" : function(component) {
3 // create a one-time use instance of the serverEcho action
4 // in the server-side controller
5 var a = component.get("c.serverEcho");
6 a.setParams({ firstName : component.get("v.firstName") });
7
8 // Create a callback that is executed after
9 // the server-side action returns
10 a.setCallback(this, function(action) {
11 if (action.getState() === "SUCCESS") {
12 // Alert the user with the value returned
13 // from the server
14 alert("From server: " + action.getReturnValue());
15
16 // You would typically fire a event here to trigger
17 // client-side notification that the server-side
18 // action is complete
19 }
20 else if (action.getState() === "ERROR"){
21 var errors = a.getError();
22 if (errors) {
23 $A.logf("Errors", errors);
24 if (errors[0] && errors[0].message) {
25 $A.error("Error message: " +
26 errors[0].message);
27 }
28 } else {
29 $A.error("Unknown error");
30 }
31 }
32 else {
33 alert("Action state: " + action.getState());
34 }
35 });
36
37 // A client-side action could cause multiple events,
38 // which could trigger other events and
39 // other server-side action calls.
40 // $A.enqueueAction adds the server-side action to the queue.
41 $A.enqueueAction(a);
42 }
43}クライアント側コントローラでは、c の値プロバイダを使用してサーバ側コントローラのアクションを呼び出します。この構文は、クライアント側コントローラのアクションを呼び出すためにマークアップで使用するものと同じです。cmp.get("c.serverEcho") コールは、サーバ側コントローラで serverEcho メソッドをコールしていることを示します。サーバ側コントローラのメソッド名は、クライアント側のコールの c. に続く内容と完全に一致している必要があります。
$A.enqueueAction(action) は、サーバ側コントローラのアクションを、実行されるアクションのキューに追加します。この方法でキューに追加されたアクションはすべて、イベントループの最後に実行されます。フレームワークでは、個々のアクションごとに個別の要求を送信するのではなく、イベントチェーンを処理し、関連する要求をバッチにまとめてからキューのアクションを実行します。これらのアクションは非同期で、コールバックが設定されています。
アクションの有効な状態は次のとおりです。
- NEW (新規)
- アクションが作成されていますが、まだ処理されていません。
- RUNNING (実行中)
- アクションを処理中です。
- SUCCESS (成功)
- アクションが正常に実行されました。
- ERROR (エラー)
- サーバからエラーが返されました。
- ABORTED (中止)
- アクションが中止されました。