IDBRequest.onsuccess

This translation is incomplete. この記事の翻訳にご協力ください

IDBRequest インターフェースのonsuccessイベントハンドラはリクエストの結果が正常に帰ってきた時に着火されるsuccessイベントをハンドリングします。

イベントハンドラは、type="success"の成功イベントをパラメータとして受け取ります。

註: この機能は Web Workers 内で利用可能です。

構文

request.onsuccess = function(event) { ... };

下記の例は、指定されたレコードタイトルをリクエストします。リクエストのonsuccessイベントハンドラはIDBObjectStore (objectStoreTitleRequest.resultとして利用可能)からレコードを取得し、そのプロパティを更新してオブジェクトストアに書き戻します。

完全な例は To-do Notifications app (example live)を参照してください。

var title = "Walk dog";

// いつものようにトランザクションをオープンする
var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');

// title変数の値をタイトルとして持つTo-Doリストオブジェクトを取得する
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function() {
  // resultとして返却されたデータオブジェクトを取得
  var data = objectStoreTitleRequest.result;
 
  // データオブジェクトのnotifiedプロパティ値を"yes"に更新する
  data.notified = "yes";
 
  // データベースにアイテムを書き戻す別のリクエストを作成する
  var updateTitleRequest = objectStore.put(data);
 
  // この新しいリクエストが成功すると、
  // 表示更新のためにdisplayData()が再度実行される
  updateTitleRequest.onsuccess = function() {
    displayData();
  };
};

仕様書

仕様書 状態 備考
Indexed Database API 2.0
onsuccess の定義
勧告
Indexed Database API Draft
onsuccess の定義
勧告

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
onsuccessChrome 完全対応 24
完全対応 24
完全対応 23
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 16
完全対応 16
未対応 10 — 16
接頭辞付き
接頭辞付き moz のベンダー接頭辞が必要
IE 部分対応 10Opera 完全対応 15Safari 完全対応 7WebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 22Opera Android 完全対応 14Safari iOS 完全対応 8Samsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
部分対応  
部分対応
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連情報