“ InvalidStateError:在不允许突变的数据库上尝试了突变操作。”

时间:2018-07-24 19:35:36

标签: javascript ajax promise indexeddb

我正在尝试在then()内部打开一个事务,这给了我一个例外。 这是代码:

open.onsuccess = function (e1) {
 var dbase = e1.target.result;
$.get("https://www.uuidgenerator.net/api/version4").then(
        function (message) {
            debugger;
            var projectData = { "uid": message, "name": "appName", "pages": [] };
            var trans = dbase.transaction(["Project"], "readwrite"); // error over here
            var store = trans.objectStore("Project");
            var projectAddReq = store.add(projectData);
            projectAddReq.onsuccess = function (e) {
                console.log("added project name into the database");
            }
            projectAddReq.onerror = function (e) {
                console.log("error adding project name into the database");
            }
        });
}

有人可以帮助我,为什么会发生错误?

1 个答案:

答案 0 :(得分:0)

尝试在获取后打开与数据库的连接,而不要使用在其他时间实例化的IDBDatabase变量。