apex.server
ネームスペースは、Oracle Application Expressのサーバー部分と通信するためのすべてのAjaxファンクションを格納します。
このAPIは、Asynchronous Module Definition (AMD)を持つ他のJavaScriptライブラリを非同期的にロードするとき、かつRequireJS
ライブラリがすでにページにロードされている場合に使用されます。
構文
apex.server.loadScript( pConfig, callback )
パラメータ
表31-56 apex.server.loadScript
名前 | タイプ | 説明 |
---|---|---|
|
オブジェクト |
JSONオブジェクトの属性は、次のとおりです。
|
|
オブジェクト |
スクリプトがロードされると1回実行されるファンクション。 |
戻り値
ファンクションを戻します。
例
次の例では、RequireJS
を必要としない通常のライブラリをロードします。
apex.server.loadScript ({ "path": "./library_1.js" }, function() { console.log( 'library_1 is ready.' ); });
次の例では、RequireJS
を戻すライブラリをロードし、myModule
という独自のネームスペースを作成します。
apex.server.loadScript ({ "path": "./library_2.js", "requirejs": true, "global": "myModule" }, function() { console.log( myModule ); });
次の例では、requireJS
がすでにページ上にあると想定し、RequireJS
オプティマイザによって生成される連結ライブラリをロードします。
apex.server.loadScript ({ "path": "./library_all.js", "requirejs": true }, function() { console.log( myModule_1, myModule_2 ... ); });
このファンクションは、プラグインに定義されているPL/SQL Ajaxファンクションをコールします。このファンクションは、jQuery.ajax
ファンクションのラッパーです。jQuery.ajax
のサブセットに加え、Application Express固有の追加オプションをサポートします。
プラグインPL/SQL Ajaxファンクションは、PL/SQLパッケージapex_plugin.get_ajax_identifier
によって戻される値を使用して識別されます。プラグインAjaxの識別子を指定するには2つの方法があります。
第1引数としてpAjaxIdentifier
を指定する
pData
オブジェクト構造にajaxIdentifier
を含むリージョンについて情報を指定する詳細はpData
を参照してください。
構文
apex.server.plugin( pAjaxIdentifier, pData, pOptions ) → Promise
パラメータ
表31-57 apex.server.plugin
名前 | タイプ | 説明 |
---|---|---|
|
String |
オプション。プラグインAjax識別子。指定しない場合は、 |
|
Object |
Ajaxリクエストでサーバーに送信されるデータを含むオブジェクト(オプション)。オブジェクトはJSONとしてシリアライズされ、 特定リージョンのデータは、次の書式で送信できます。 { "regions": [ { "id": <region-id-or-static-id>, "ajaxIdentifier": <ajaxIdentifier>, <any other data specific to the region plug-in> }, ... ] } |
|
Object |
処理前と処理後を含むAjaxコールを制御するために追加のオプションを設定する際に使用する、オプションのオブジェクト。 Application Express固有のオプションのリストは、次の サポートされる次のオプションについては、jQuery.ajaxに関するjQueryドキュメントを参照してください: dataTypeオプションのデフォルトはjsonです。 asyncオプションは非推奨になりました。今後のリリースで削除される予定です。 |
表31-58 pDataの特殊プロパティ
名前 | タイプ | 説明 |
---|---|---|
|
文字列 | jQuery | DOM要素 | 配列 |
リクエストに含まれるページまたは列アイテムを示します。jQueryセレクタ、jQueryオブジェクトまたはDOMオブジェクト、またはアイテム名の配列です。これらのアイテムは、サーバー上のセッション・ステートで使用可能になります。 |
|
String |
これらのプロパティは、 |
|
文字列|配列 |
これらのプロパティは、 |
表31-59 pOptionsのプロパティ
名前 | タイプ | 説明 |
---|---|---|
|
文字列 | jQuery | DOM要素 |
|
|
オブジェクト | 配列 |
|
|
ファンクション |
|
|
文字列 | jQuery | DOMオプション | ファンクション |
Ajaxコール中に、隣にロード・インジケータ(進行状況のスピナー)が表示される要素を示します。要素は、jQueryセレクタ、jQueryオブジェクトまたはDOMオブジェクトを使用して指定できます。 function( pLoadingIndicator ) { return pLoadingIndicator.prependTo( apex.jQuery( "td.shuttleControl", gShuttle) ); } |
|
String |
ロード・インジケータの表示位置を定義する6つのオプション。
|
|
Object |
キューおよびキュー・アクションの名前を指定するオブジェクト。名前プロパティには、リクエスト追加先のキューの名前を指定します。 アクション・プロパティは次のいずれかになります。
キュー名は、データ・ユニットごとに一意です。たとえば、2種類のスプリッタの位置を保存する場合は、一方に対する最新の更新が、もう一方の前回の遅延書込みを上書きしないように、それぞれ一意の名前を使用します。 waitとreplaceのアクションを指定したリクエストを、同じキューで混在させることもできます。waitおよびreplaceアクションでも使用されているのと同じキュー名に対して、 |
|
文字列 | DOM要素 |
このリクエストが該当するターゲット要素(DOM要素またはjQueryセレクタ)。これは、外側リージョンからセッション・ステート・コンテキストを取得する際に使用されます。 |
戻り値
promiseオブジェクトを戻します。Ajaxリクエストが正常に完了すると、promiseのdoneメソッドがコールされます。これがコールされるのは、pOptions
でコールバック・ファンクションが成功した場合と同じです。promiseのfailメソッドは、Ajaxリクエストがエラーで終わり、内部で検出されたApplication Expressエラーを伴う場合にコールされます。これがコールされるのは、pOptions
でコールバック・ファンクションがエラーになった場合と同じです。promiseにはalwaysというメソッドもあり、これは実行後とエラー後のどちらでもコールされます。キューのオプションを使用している場合でも、promiseが戻されます。promiseはjqXHR
オブジェクトではありませんが、abortメソッドがあります。abortメソッドは、キューのいずれかのオプションを使用するリクエストでは機能しません。
例
この例は、apex.server.plugin
へのこのコールによって、スカラー値x01
がtest
(apex_application.g_x01
を使用してPL/SQLからアクセス可能)に設定され、セッション・ステートにページ・アイテムのP1_DEPTNO
およびP1_EMPNO
の値が(jQueryセレクタ構文を使用して)設定されることを示します。apexbeforerefresh
イベントおよびapexafterrefresh
イベントを起動する要素として、P1_MY_LIST
アイテムが使用されます。P1_MY_LIST
は、横にロード・インジケータが表示される要素として使用されます。成功のコールバックはスタブ・アウトされ、コールが正常に戻された際に起動される独自のコードを開発者が追加するために使用されます。lAjaxIdentifier
の値は、サーバーのPL/SQL API apex_plugin.get_ajax_identifier
によって戻される値に設定する必要があります。
成功したコールバックに対するpData
パラメータには、プラグインPL/SQL Ajaxファンクションによって戻されるレスポンスが含まれます。
apex.server.plugin ( lAjaxIdentifier, { x01: "test", pageItems: "#P1_DEPTNO,#P1_EMPNO" }, { refreshObject: "#P1_MY_LIST", loadingIndicator: "#P1_MY_LIST", success: function( pData ) { // do something here } });
プラグインに定義されているPL/SQL Ajaxファンクションに対してGETリクエストを発行するためのURLを戻します。
パラメータ
表31-60 apex.server.pluginUrl
名前 | タイプ | 説明 |
---|---|---|
|
String |
PL/SQLパッケージ |
|
Object |
URLに含まれる追加の値を設定する際に使用するオブジェクト(オプション)。タイプにjQueryセレクタ、jQueryオブジェクト、DOMオブジェクトまたはアイテム名の配列を選択できる特別な属性 |
戻り値
GET
リクエストを発行するURLである文字列を戻します。
例
apex.server.pluginUrl
へのこのコールによって、プラグインに定義されているPL/SQL Ajaxファンクションに対してGETリクエストを発行するためのURLが戻され、スカラー値x01
がtest
(apex_application
.g_x01
を使用してPL/SQLからアクセス可能)に設定され、セッション・ステートにページ・アイテムのP1_DEPTNO
およびP1_EMPNO
の値が(jQueryセレクタ構文を使用して)設定されます。lAjaxIdentifier
の値は、サーバーのPL/SQL API apex_plugin.get_ajax_identifier
によって戻される値に設定する必要があります。
var lUrl = apex.server.pluginUrl ( lAjaxIdentifier, { x01: "test", pageItems: "#P1_DEPTNO,#P1_EMPNO" } );
このファンクションは、ページ・レベルまたはアプリケーション・レベルで定義されたPL/SQLオンデマンド(Ajaxコールバック)プロセスをコールします。このファンクションは、jQuery.ajaxファンクションのラッパーです。jQuery.ajax
のサブセットに加え、Application Express固有の追加オプションをサポートします。
構文
apex.server.process( pName, pData, pOptions ) → Promise
パラメータ
表31-61 apex.server.process
名前 | タイプ | 説明 |
---|---|---|
|
String |
コールするPL/SQLオンデマンド・ページ・プロセスまたはPL/SQLオンデマンド・アプリケーション・プロセスの名前。 |
|
Object |
Ajaxリクエストでサーバーに送信されるデータを含むオブジェクト(オプション)。オブジェクトはJSONとしてシリアライズされ、p_jsonというパラメータでサーバーに送信されます。特別に処理されるプロパティのリストは、次の 特定リージョンのデータは、次の書式で送信できます。 { "regions": [ { "id": <region-id-or-static-id>, "ajaxIdentifier": <ajaxIdentifier>, <any other data specific to the region plug-in> }, ... ] } |
|
Object |
処理前と処理後を含むAjaxコールを制御するために追加のオプションを設定する際に使用する、オプションのオブジェクト。Application Express固有のオプションのリストは、次の サポートされる次のオプションについては、 asyncオプションは非推奨になりました。今後のリリースで削除される予定です。 |
表31-62 pDataの特殊プロパティ
名前 | タイプ | 説明 |
---|---|---|
|
文字列 | jQuery | DOM要素 | 配列 |
リクエストに含まれるページまたは列アイテムを示します。jQueryセレクタ、jQueryオブジェクトまたはDOMオブジェクト、またはアイテム名の配列です。これらのアイテムは、サーバー上のセッション・ステートで使用可能になります。 |
|
String |
これらのプロパティは、 |
|
文字列|配列 |
これらのプロパティは、 |
表31-63 pOptionsのプロパティ
名前 | タイプ | 説明 |
---|---|---|
|
文字列 | jQuery | DOM要素 |
|
|
オブジェクト | 配列 |
|
|
ファンクション |
|
|
文字列 | jQuery | DOMオプション | ファンクション |
Ajaxコール中に、隣にロード・インジケータ(進行状況のスピナー)が表示される要素を示します。要素は、jQueryセレクタ、jQueryオブジェクトまたはDOMオブジェクトを使用して指定できます。 function( pLoadingIndicator ) { return pLoadingIndicator.prependTo( apex.jQuery( "td.shuttleControl", gShuttle) ); } |
|
String |
ロード・インジケータの表示位置を定義する6つのオプション。
|
|
Object |
キューおよびキュー・アクションの名前を指定するオブジェクト。名前プロパティには、リクエスト追加先のキューの名前を指定します。 アクション・プロパティは次のいずれかになります。
キュー名は、データ・ユニットごとに一意です。たとえば、2種類のスプリッタの位置を保存する場合は、一方に対する最新の更新が、もう一方の前回の遅延書込みを上書きしないように、それぞれ一意の名前を使用します。 waitとreplaceのアクションを指定したリクエストを、同じキューで混在させることもできます。waitおよびreplaceアクションでも使用されているのと同じキュー名に対して、 |
|
文字列 | DOM要素 |
このリクエストが該当するターゲット要素(DOM要素またはjQueryセレクタ)。これは、外側リージョンからセッション・ステート・コンテキストを取得する際に使用されます。 |
戻り値
promiseオブジェクトが戻されます。Ajaxリクエストが正常に完了すると、promiseのdoneメソッドがコールされます。これがコールされるのは、pOptions
でコールバック・ファンクションが成功した場合と同じです。promiseのfailメソッドは、Ajaxリクエストがエラーで終わり、内部で検出されたApplication Expressエラーを伴う場合にコールされます。これがコールされるのは、pOptions
でコールバック・ファンクションがエラーになった場合と同じです。promiseにはalwaysというメソッドもあり、これは実行後とエラー後のどちらでもコールされます。キューのオプションを使用している場合でも、promiseが戻されます。promiseはjqXHR
オブジェクトではありませんが、abortメソッドがあります。abortメソッドは、キューのいずれかのオプションを使用するリクエストでは機能しません。
例
この例は、apex.server.process
へのこのコールによって、MY_PROCESS
というオンデマンド・プロセスがコールされ、スカラー値x01
がtest
(apex_application.g_x01
を使用してPL/SQLからアクセス可能)に設定され、セッション・ステートにページ・アイテムのP1_DEPTNO
およびP1_EMPNO
の値が(jQueryセレクタ構文を使用して)設定されることを示します。成功のコールバックはスタブ・アウトされ、コールが正常に戻された際に起動される独自のコードを開発者が追加するために使用されます。
注意: 成功したコールバックに対するpData
パラメータには、オンデマンド・プロセスから返信されるレスポンスが含まれます。
apex.server.process ( "MY_PROCESS", { x01: "test", pageItems: "#P1_DEPTNO,#P1_EMPNO" },{ success: function( pData ) // do something here } } );
このファンクションは、現在のページに対してGETリクエストを発行するためのURLを戻します。
パラメータ
表31-64 apex.server.url
名前 | タイプ | オプション/必須 | 説明 |
---|---|---|---|
|
Object |
オプション。 |
URLに含む追加の値を設定するためにオプションで使用可能なオブジェクト。タイプにjQueryセレクタ、jQueryオブジェクト、DOMオブジェクトまたはアイテム名の配列を選択できる特別な属性 |
|
String |
オプション。 |
戻されるURLにページIDを設定するためにオプションで使用可能な現在のページのページID。 |
戻り値
GETリクエストを発行する文字列URLを戻します。
例
この例では、apex.server.url
へのコールを示します。このページに定義されているDELETEファンクションに対してGETリクエストを発行するためのURLが戻され、スカラー値x01
がtest
(apex_application
.g_x01
を使用してPL/SQLからアクセス可能)に設定され、セッション・ステートにページ・アイテムのP1_DEPTNO
およびP1_EMPNO
の値が(jQueryセレクタ構文を使用して)設定されます。
apex.server.url ({ p_request: "DELETE", x01: "test", pageItems: "#P1_DEPTNO,#P1_EMPNO" });