问题标签 [jsonstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1461 浏览

data-binding - 将数据加载到 JsonStore

我正在尝试将一些简单的数据放入 JsonStore,但它似乎不起作用。代码与示例几乎相同:

不幸的是,这不起作用。该表加载时没有行,并且存储的计数为 68(由服务器返回,通过 获取listview.getStore().getCount())。如果我用 ArrayStore 和一些静态数据替换 JsonStore,我可以看到它们。

结果/items/list只是:

我该如何解决?我该如何调试呢?

编辑:更新了有关记录数的信息

0 投票
4 回答
12494 浏览

combobox - EXTJS 使用 Null 值存储问题 -- useNull:没有影响 -- 帮助?

伙计们,

我有一个由 JSONStore 支持的组合框组件。加载到存储中的数据为组合框的值返回 null。该值是一个 int。JSON解码过程是将空值转换为零;导致组合框在尝试查找 pk 时无法呈现,零在其后备存储中不存在。

我找到了 data.Field 对象的 useNull: config 选项,升级到 3.3.0 Final 并将我的组合框的 int 值设置为 useNull:true。不幸的是,这根本没有任何影响。解码后的值仍在从 null 更改为零。

当 JSON 字段的数据为空时,关于如何不将字段设置为零的任何想法?

这是正在发生的事情的照片。注意数据:值为零,但 JSON 值为空。

谢谢!

(啊!stoopid 声誉 < 10 所以我不能直接发布图片。在此处查看: 调试图片

另外,这是我商店的字段配置:

0 投票
5 回答
1179 浏览

extjs - 多个 JsonReader 读取 JsonStore 数据的不同部分

说我有一个像这样的 json 字符串: 代码:

{"Staff":[{"id":1,"name":"John"},{"id":2,"name":"Mary"},{"id":3,"name":"Sandra"}],"Students":[{"id":2,"name":"Peter"},{"id":3,"name":"Carl"},{"id":4,"name":"Hodges"}]}

(注意:如果您想查看格式更好的 json 字符串,请将其粘贴到http://json.parser.online.fr/上)

我有两个组合框 cmbStaff 和 cmbStudents。是否可以将两个组合框绑定到同一个商店但具有不同的 jsonreaders?即 cmbStaff 的 datareader 将读取带有 root: 'Staff' 的字符串,而 cmbStudent 将读取带有 root 'Students' 的字符串?

这是为了节省商店制作的 AJAX 数量,并为每个组合框设置不同的商店(想象一下,如果我的表单有 20 个组合框!)。

有任何想法吗?如果您需要更多信息,请随时通知我谢谢!

0 投票
1 回答
2495 浏览

combobox - ComboBox:当它的 valueField 为数字时,在 POST 上发送的空字符串。如何将 null 传递给服务器?

全部,

尝试使用 Extjs 的 JSONStore 通过 POST 创建新记录时出现强制转换异常。当将空字符串传递给服务器并且服务器尝试将其转换为整数时,会发生异常。组合框的 valueField 设置为 int 定义的字段。数据存储字段如下:

组合框定义是:

奇怪的是,用于发送 POST 的 JSONStore 将组合框的值作为空字符串发送,即使我已将 JSONWriter 配置为不发送未更改的字段:

发送到服务器的 POST 值: ....,"secondaryIncidentTypeId":"",...<-- 注意冒号后面的空字符串。

这是secondaryIncidentTypeArrayStore:

我即将为空字符串编写手动检查,如果字符串为空,则将其设置为 null。这看起来很笨拙。在表单提交时向服务器发送任何内容或空值的正确方法是什么?

谢谢!

0 投票
1 回答
1583 浏览

exception - ExtJs。JsonStore.insert() 导致异常

我有一个EditorGridPanel带有工具栏的按钮来添加新记录。除了一种情况外,一切正常。当我尝试插入数据库中已经存在的记录时,服务器发回:

grid会创建一个标有红色三角形的新行。如果在那之后我尝试插入一条新记录(即使它在数据库中不存在),那么在服务器端一切正常,但我在 firebug 中得到一个“未捕获的异常”。它说:

这是为什么?

编辑 我发现:

当我尝试插入新记录时,我使用插入方法将带有参数的发布请求发送data到服务器(编码为真,列表为真):

它从服务器获取:

之后我尝试创建一个具有相同名称的项目:

所以我得到:

从服务器。

下次我尝试创建正确的项目时,商店会发送包含 2 个项目的数组

但服务器只创建第一个(最新的)项目并发回:

因此可能会发生错误,因为商店要求服务器创建 2 个项目,但只有一个被发回。

那么如何处理呢?是否可以让商店不再发送失败项目的请求?

0 投票
2 回答
734 浏览

extjs - 需要 Extjs editorgrid 存储来排队删除/删除事件并稍后触发它们

我有一个表单,用户可以在其中从订单中删除注释。除非用户单击保存按钮,否则我不希望便笺存储使用已删除的便笺调用销毁 url。我是否可以在商店中调用suspendEvents(true),然后在用户单击保存时调用resumeEvents,并将其发布到所有已删除笔记的销毁URL?有一个更好的方法吗?

0 投票
3 回答
23809 浏览

json - extjs 存储错误处理

我试图Ext.data.Store在创建新的Ext.data.Record. 当服务器使用以下 json 响应时:

即使服务器返回 HTTP 200 响应,我也会收到“请求”类型的异常!

要获得“远程”错误,我必须使用该root属性创建一个对象

...但我不想要这个。有没有办法改变这种行为?

此外,当我在存储中插入一条记录时,它会自动添加到关联的网格中,但如果发生错误,它仍然存在,所以我需要在每个错误时重新加载存储。有没有更好的方法来做到这一点?

0 投票
2 回答
1531 浏览

extjs - Ext.JsonStore 访问服务器以 json 格式返回的自定义属性

我有一个以 json 格式返回数据的 EXtJS Web 应用程序。结果在 ExtJS Grid 中分页显示,并由 pagingToolbar 处理。我正在使用slidingPager 插件来选择页面。当用户使用滑块选择页面时,我需要在页码之外显示该页面第一个结果的标题。

因此,在 jason 数据中,服务器额外返回以计数和记录数据等。我添加了一个名为 headers 的属性,它实际上是每个页面第一个结果的标题数组。

我不知道如何访问和处理这个新属性,这样我就可以在第 10 页获取 json 数据中标题属性的第 10 项。

在此先感谢安德烈亚斯

0 投票
1 回答
19443 浏览

sencha-touch - 带有 json 存储的 Sencha 触摸列表

我有一个在列表中携带数据的商店有问题,问题是商店正在加载但列表停留在加载中,我做错了什么,谢谢

以及来自 php 的 json 答案

0 投票
1 回答
2848 浏览

extjs - ComboBox 仅在单击时显示 displayField

我有一个通过 Ext.Window 显示的 EditorGridPanel。

resources是我通过 Ajax 调用获得的 Json 数据。

示例数据:{"data":[{"id":"1","allowed":"1","roleId":"0","resource":"nothing"}]}

问题是 ComboBox 的 displayField 仅在我单击 ComboBox 时显示。单击时,我得到选择:“允许”,“不允许”。当我移除焦点时,会显示值:“1”、“0”。

即使我没有单击,如何显示 displayField 值?

编辑: 根据Narendra Kamma 的回复,我编辑了我的代码:

这非常有效。