- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试学习 JSONStore 并在此过程中尝试执行一段代码,该代码将首先检查设备中是否已经存在特定的 JSONStore,并根据结果执行 if-else陈述。如果不存在,它将创建一个并在其中添加一些数据。如果 jsonStore 已经存在,代码将用新数据替换以前存储的数据。但是当我尝试执行代码时,我的设备会显示 html 内容一段时间,然后屏幕变黑。当我检查 logcat 时,我没有得到我在代码中添加的任何控制台日志语句。任何人都可以帮助我理解这种行为以及可以做些什么来达到要求。
var JSONStoreCollections = {};
var collectionName = 'Person';
function wlCommonInit(){
require([ "layers/core-web-layer", "layers/mobile-ui-layer" ], dojoInit);
}
function dojoInit() {
require([ "dojo/ready", "dojo/parser", "dojox/mobile", "dojo/dom", "dijit/registry", "dojox/mobile/ScrollableView" ], function(ready) {
ready(function() {
if(!(WL.JSONStore.get(collectionName))){
console.log("i am in if codition");
var Data={
Name:'name',
Age:27
};
JSONStoreCollections[collectionName] = {};
JSONStoreCollections[collectionName].searchFields = {Name: 'string'};
WL.JSONStore.init(JSONStoreCollections)
.then(function () {
console.log("store created");
})
.fail(function (errorObject) {
console.log("store creation failed");
});
WL.JSONStore.get(collectionName).add(Data)
.then(function () {
console.log("data added");
})
.fail(function (errorObject) {
console.log("data addition failed");
});
var query = {Name: 'name'};
WL.JSONStore.get(collectionName)
.find(query)
.then(function (arrayResults) {
console.log(arrayResults);
WL.Logger.debug(arrayResults);
})
.fail(function (errorObject) {
console.log(errorObject);
WL.Logger.debug(errorObject);
});
}
else{
var Data1={
Name:'name1',
Age:30
};
WL.JSONStore.get(collectionName).replace(Data1)
.then(function () {
console.log("data replaced");
})
.fail(function (errorObject) {
console.log("data replacement failed");
});
var query = {Name: 'name1'};
WL.JSONStore.get(collectionName)
.find(query)
.then(function (arrayResults) {
console.log(arrayResults);
WL.Logger.debug(arrayResults);
})
.fail(function (errorObject) {
console.log(errorObject);
WL.Logger.debug(errorObject);
});
}
});
});
}
最佳答案
WL.JSONStore.get(collectionName)
将始终返回 undefined。如果您从未初始化 JSONStore,则无法使用它。replace
API 使用 JSONStore 文档(具有 _id
和 json
键的对象)。.fail
,错误对象会告诉你错误的来源(errorObject.src
)。 请参阅下面未经测试的伪代码以了解您想要执行的操作:
function wlCommonInit () {
var collectionName = 'Person';
var Data = {
Name: 'name',
Age: 27
};
var JSONStoreCollections = {};
JSONStoreCollections[collectionName] = {};
JSONStoreCollections[collectionName].searchFields = {Name: 'string'};
WL.JSONStore.init(JSONStoreCollections)
.then(function () {
WL.Logger.debug('Init done');
return WL.JSONStore.get(collectionName).findAll();
})
.then(function (res) {
WL.Logger.debug('Find All returned:', res);
if (res.length < 1) {
return WL.JSONStore.get(collectionName).add(Data);
} else {
res[0].json = {
Name:'name1',
Age:30
};
return WL.JSONStore.get(collectionName).replace(res[0]);
}
})
.then(function () {
WL.Logger.debug('Add or Replace done');
return WL.JSONStore.get(collectionName).find({Name: 'name'});
})
.then(function (res) {
WL.Logger.info('Final Find returned:', res);
})
.fail(function (err) {
WL.Logger.error(err);
});
}
第一次执行的预期输出:
Init done
Find All returned: []
Add or Replace done
Final Find returned: [{"_id":1,"json":{"Name":"name","Age":27}}]
除第一次执行之外的预期输出:
Init done
Find All returned: [{"_id":1,"json":{"Name":"name","Age":27}}]
Add or Replace done
Final Find returned: [{"_id":1,"json":{"Name":"name1","Age":30}}]
关于android - JSONStore 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22437044/
我在 Android 中的 JSONStore 初始化函数中遇到问题。它会挂起大约 10 分钟,直到 JSONStore 给我初始结果回调。这确实只发生在 Android 和 iPhone 工作正常。
当我初始化 JSONSTORE 的函数时,出现错误 java.lang.NoClassDefFoundError: com.worklight.jsonstore.util.JSONStoreUtil
我的 JsonStore 是这样定义的: var data_json = new Ext.data.JsonStore({ url: '/Game/json_index', autoL
我的 JsonStore 是这样定义的: var data_json = new Ext.data.JsonStore({ url: '/Game/json_index', autoL
我正在尝试学习 JSONStore 并在此过程中尝试执行一段代码,该代码将首先检查设备中是否已经存在特定的 JSONStore,并根据结果执行 if-else陈述。如果不存在,它将创建一个并在其中添加
我有一个 jsonstore: jstore = new Ext.data.JsonStore({ fields: ['id', 'timer', 'name', 'message'],
团队, 我有一个 jsonstore 来加载我的列表。我正在使用内联数据加载商店,无需任何代理配置。我想调用我商店的加载事件。请告诉我该怎么做。 以下是我的商店代码: Store = new Ext.
JSONStore 为我们提供了一种与服务器同步数据并跟踪用户离线时所做更改的好方法。 JSONStore 上可以保存多少信息是否有限制?我发现 Webkit 数据库有 5 MB 的限制,而 SQLL
我想动态生成列表条目,同时将它们作为 jsonstore 文档添加到我的本地存储。 当我这样做时: var j=0; while(j').attr({attributes}).
编写一个函数来生成一些随机数据并将其推送到未知传递的数据存储对象中。我知道我可以遍历记录然后遍历字段,但在开始将随机生成的记录推送到其他记录顶部之前我需要有字段列表(然后删除最后一项以模拟实时图表)。
我的 JsonStore 似乎没有填充。当我运行代码时,它会触发请求,该请求会返回 json。当我检查数据存储时,数据数组为空。 我错过了什么?谢谢。 我定义了这个 JsonStore: CCList
你能帮我解决我在使用 loadData 函数作为 Ext.data.JsonStore 的一部分时遇到的问题吗?我已经创建了一个我遇到的问题的基本示例: Ext JSON ex
我想使用 for 循环添加到 JSONStore 所以我在 for 中调用了长度超过 500 的 saveToJSON() 函数,但它没有添加,并且在控制台中它显示成功但是当我查看 jsonstore
我正在尝试使用 loadData 方法在 JSONStore 中加载数据,但它仅在存储中加载单个记录。这是代码片段 var myRecord = Ext.data.Record.create([
我正在尝试实现 ExtJS 和 Java 之间的通信我正在将请求从 ExtJS 发送到使用 netty 的 Java 服务器。如果有人可以向我发送一个示例,说明如何从 Java 端格式化响应以及如何从
我想从另一个面板用户 js 文件访问由 ext 设计器创建的 JsonStore。设计器生成的文件存储文件如下所示 myJsonStore = Ext.extend(Ext.data.JsonStor
我根据 this question 创建了一个 GUI在尝试自学如何使用 jsonstore 的同时。我没有添加评论的声誉点,所以我在这里问我的问题。我想我已经掌握了基本的想法,但由于某种原因我无法将
我正在尝试使用 POST 请求调用 API。但是我的 Chrome Inspector 在网络选项卡中显示了 method='GET'... 这是我的代码: Ext.define('TestItem'
我实现了JSONStore同步过程如下: 1.将本地修改推送到服务器 2.如果推送数据成功,则清除所有现有的本地数据。 3.从服务器加载新的数据副本。 我想知道这个数据同步过程是不是一个好方法? 如果
我有一个 EXtJS Web 应用程序,它以 json 格式返回数据。结果在 ExtJS Grid 中分页显示,并由 pagingToolbar 处理。我正在使用 sliderPager 插件来选择页
我是一名优秀的程序员,十分优秀!