JayData 提供程序无法为 sqlite 和 indexedDb 加载
JayData provider failing to load for sqLite and indexedDb
我正在尝试通过
使用 sqlite 提供程序来使用 JayData
myDB = new MyDatabase({ provider: 'sqLite' , databaseName: 'MyDB', version: 1 });
但是当它运行这一行时,它会回显两次控制台以下消息
"Provider fallback failed!"
我试过手动加载 sqlite 提供程序而不是加载它,但它没有解决问题。
如果我将提供程序设置交换为 'indexedDb',JayData js 会自动尝试从错误的目录 IndexedDbProvider.js class 加载
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 中调试确认文件按顺序加载
我正在按以下顺序加载文件
- Jquery 2.1.3
- /js/Jaydata/jaydata.js(默认Jaydata.js文件未修改)
- /js/DB/DBSchema.js(我的模式定义数据库对象)
- /js/DB/DBUtilities.js(一些帮助处理数据库的函数)
- /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
我正在尝试通过
使用 sqlite 提供程序来使用 JayDatamyDB = new MyDatabase({ provider: 'sqLite' , databaseName: 'MyDB', version: 1 });
但是当它运行这一行时,它会回显两次控制台以下消息
"Provider fallback failed!"
我试过手动加载 sqlite 提供程序而不是加载它,但它没有解决问题。 如果我将提供程序设置交换为 'indexedDb',JayData js 会自动尝试从错误的目录 IndexedDbProvider.js class 加载
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 中调试确认文件按顺序加载
我正在按以下顺序加载文件
- Jquery 2.1.3
- /js/Jaydata/jaydata.js(默认Jaydata.js文件未修改)
- /js/DB/DBSchema.js(我的模式定义数据库对象)
- /js/DB/DBUtilities.js(一些帮助处理数据库的函数)
- /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