--- title: IDBRequest.onsuccess slug: Web/API/IDBRequest/onsuccess tags: - API - Database - IDBRequest - IndexedDB - Property - Reference - Storage - onsuccess translation_of: Web/API/IDBRequest/onsuccess ---
{{ APIRef("IndexedDB") }}
{{domxref("IDBRequest")}} インターフェースのonsuccess
イベントハンドラはリクエストの結果が正常に帰ってきた時に着火されるsuccess
イベントをハンドリングします。
イベントハンドラは、type="success"の成功イベントをパラメータとして受け取ります。
{{AvailableInWorkers}}
request.onsuccess = function(event) { ... };
下記の例は、指定されたレコードタイトルをリクエストします。リクエストのonsuccess
イベントハンドラは{{domxref("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();
};
};
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('IndexedDB', '#widl-IDBRequest-onsuccess', 'onsuccess')}} | {{Spec2('IndexedDB')}} | |
{{SpecName("IndexedDB 2", "#dom-idbrequest-onsuccess", "onsuccess")}} | {{Spec2("IndexedDB 2")}} |
{{Compat("api.IDBRequest.onsuccess")}}
success
event