JavaScript Remoting 要求の設定
Remoting 要求の宣言時に構成設定を使用してオブジェクトを指定することで、Remoting 要求を設定します。
たとえば、デフォルトの設定パラメータは次のようになります。
これらの設定パラメータに順序はありません。また、デフォルトから変更の必要がないパラメータは省略できます。
1{ buffer: true, escape: true, timeout: 30000 }JavaScript Remoting では、次の設定パラメータをサポートしています。
| 名前 | 型 | 説明 |
|---|---|---|
| buffer | Boolean | 相互に近い時間に実行される要求を 1 つの要求にグループ化するかどうかを指定します。デフォルトは、true です。 JavaScript Remoting では、相互に近い時間に実行される複数の要求を最適化し、これらを 1 つの要求にグループ化します。このバッファリングにより、要求および応答のサイクルの全体的な効率性が改善されますが、場合によってはすべての要求が個別に実行されるようにする方が便利なこともあります。 |
| escape | Boolean | Apex メソッドの応答をエスケープするかどうかを指定します。デフォルトは、true です。 |
| timeout | Integer | 要求のタイムアウト (ミリ秒単位)。デフォルトは 30,000 (30 秒) です。最大値は 120,000 (120 秒 = 2 分) です。 |
Visualforce Remoting オブジェクトを使用してタイムアウトを設定することで、ページで行われるすべての要求に対して要求タイムアウトを設定することもできます。
1<script type="text/javascript">
2
3 Visualforce.remoting.timeout = 120000; // Set timeout at page level
4
5 function getRemoteAccount() {
6 var accountName = document.getElementById('acctSearch').value;
7
8 // This remoting call will use the page's timeout value
9 Visualforce.remoting.Manager.invokeAction(
10 '{!$RemoteAction.AccountRemoter.getAccount}',
11 accountName,
12 handleResult
13 );
14 }
15
16 function handleResult(result, event) { ... }
17</script>ページレベルのタイムアウト設定を要求単位で上書きするには、その要求の設定オブジェクトのタイムアウトを、上記の説明に従って設定します。