javascript - JayData 提供程序无法加载 sqLite 和 indexedDb

标签 javascript jquery sqlite indexeddb jaydata

我正在尝试通过 sqLite 提供程序使用 JayData

myDB = new MyDatabase({ provider: 'sqLite' , databaseName: 'MyDB', version: 1 });

但是当它运行此行时,它会回显两次控制台以下消息

"Provider fallback failed!"

我尝试手动加载 sqLite 提供程序而不加载它,但它没有解决问题。 如果我将提供程序设置交换为“indexedDb”,JayData js 会自动尝试从错误的目录加载 IndexedDbProvider.js 类

GET http://192.168.2.49/Test/jaydataproviders/IndexedDbProvider.js

什么时候应该

GET http://192.168.2.49/Test/js/Jaydata/jaydataproviders/IndexedDbProvider.js

有谁知道为什么我使用 sqLite 时收到错误或如何让提供程序从正确的目录自动加载?我也尝试过手动加载 indexedDB 提供程序,但它没有解决问题,并且仍然尝试错误地加载提供程序

我已将最新的 JayData 代码直接复制到 Jaydata 下的 SiteRoot/js 文件夹中,它应该在该文件夹中保持一致,我没有更改或移动任何文件

我的数据库架构很大,但本质上类似于以下实体和数据库定义

    $data.Entity.extend("Image", {
        id: { type: "int", key: true, computed: true },
        location: { type: String, required: true, maxLength: 500 },
        classification: { type: "int", required: true },
        name: { type: String, maxLength: 500 }
    });
$data.Entity.extend("Inventory", {
    id: { type: "int", key: true, computed: true },
    name: { type: String, required: true, maxLength: 200 },
    description: { type: String, required: true, maxLength: 1000 },
    imageId: { type: "int", required: true}
});    
    $data.EntityContext.extend("MyDatabase", {
        Images: { type: $data.EntitySet, elementType: Image } ,
        Inventories: {type: $data.EntitySet, elementType: Inventory }
    });

我有一些来自here的js代码使用 getScript 专门按顺序加载正确的 js 文件,并在 Firefox 中调试确认文件按顺序加载

我按以下顺序加载文件

  1. Jquery 2.1.3
  2. /js/Jaydata/jaydata.js(默认Jaydata.js文件未修改)
  3. /js/DB/DBSchema.js(我的架构定义数据库对象)
  4. /js/DB/DBUtilities.js(一些有助于使用数据库的函数)
  5. /js/main.js

页面就绪第 5 步 $(function() 分配数据库变量,onReady 检查数据库是否已初始化

myDB = new MyDatabase({ provider: 'indexedDb' , databaseName:'MyDB', version: 1 });

        myDB.onReady(function() {
                logThis('Connected to DB');
                checkIfInitilizeIsNeeded();
        });

这是提供程序无法加载的地方

感谢您的帮助

最佳答案

根据这个page JayData 不支持使用 webSql 或 sqLite 的 Firefox,尽管它应该可以与 indexeddb 一起使用

我已经使用 Chrome 对其进行了测试,它似乎很高兴,所以是的,有点狡猾,是地球上第二大最受欢迎的浏览器,但是 nm

关于javascript - JayData 提供程序无法加载 sqLite 和 indexedDb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986488/

相关文章:

javascript - 为什么我的列表没有堆叠在一起?

javascript - jQuery - 每次点击时将图像向左移动

sqlite - sqlite表不需要列名吗?

qt - 如何在 QML (Qt) 上将 SQLite BLOB 数据显示为图像?

ios - sqlite方法有什么问题

javascript - 为什么在循环中使用变量和直接调用索引之间存在差异?

JavaScript : get a global variable from its name as string (reflection)

javascript - 如何为(-)创建正则表达式,在 formik setfieldvalue 中的 3 位数字后不重复

javascript - 如何循环比较json对象中的元素并只显示div中的变化?

javascript - 从多个选择中用逗号分隔每个值