Dojo JsonRestStore和ClientFilter从不从服务器更新
Dojo JsonRestStore and ClientFilter never updates from server
我有一个Dojo Datagrid绑定到启用了ClientFilter的JsonRestStore。我想要的行为:
每次我在DataGrid上调用filter时,存储都应该执行本地查询并更新网格。同时,它还应该发送将相同的查询添加到服务器,并将其接收到的数据添加到客户端过滤后的数据。
ClientFilter的文档似乎说这就是它应该如何工作的。这就是我的行为:
根据初始过滤器设置。仅对datagrid.filter的任何进一步调用过滤客户端上的数据。不再对服务器进行XHR调用已发送。
我花了几个小时调试ClientFilter.js来查找错误,但找不到。我做错了什么?
编辑:我想把这个放在这里,希望寻找类似信息的人不会陷入困境。ClientFilter和JsonRestStore存在已知问题。由于混淆了互联网上所有的旧文档,我使用的是dojo.data.JsonRestStore这是一个旧的、不受支持的(?)存储。Dojo现在已经转移到新的ObjectStore API。实现这个新API的最近的商店是dojo.store.JsonRest,而ClientFilter功能由dojo.sstore.Cache 提供
遗憾的是,在dojox.data.JsonRestStore中,所有已缓存的内容都保持缓存状态,据我所知,您无法刷新Item或查询。您可以尝试clearCache(),如果您不太依赖缓存,它可能会起作用。否则,您将不得不深入JRS,以根据需要实现真正的clearCache。为了实现与您的需求类似的功能,可以连接过滤器,并在商店中发出相同的查询,添加一个小的附加项,如"&date="+(new date().toString())或者类似的东西来强制刷新。。。不确定它是否能完全解决您的问题,而且除了快速加载第一个过滤器外,它会有点违背缓存的目的。我甚至不确定强制查询是否会更新您的数据网格。。。但你可以试一试。
- Highcharts可以从服务器加载数据,但不能更新
- 服务器发送的事件直到脚本完成才更新
- JQGrid使用服务器编辑后的更新数据刷新数据
- 使用Ajax调用在服务器上实时更新页面
- ASP:代码隐藏的字段变量在从更新面板中的服务器返回时丢失值
- 在从websocket服务器推送消息后更新$scope变量
- 我想听听服务器上的更改,并相应地更新我的网页.我如何用Javascript做到这一点
- 更新网页上Web服务器程序的实时输出
- 多久向服务器发送一次Http请求以检查更新?(Ajax)
- 如何更新服务器's的内容而不重新启动?(node.js)
- 如何在asp中保存服务器中的更新完整日历事件
- 使用Javascript中生成的XML将现有XML保存/更新到服务器
- jQuery侦听器以获取服务器更新
- 使用 XHR 更新服务器文件并将选项添加到 html 选择
- 如何在 asp.net 中更新服务器端执行的 UI 按钮文本
- 使用 AngularJS 更新服务器
- 使用Httppost使用javascript更新服务器上的数据
- 从Sencha应用程序中的表单更新服务器上的xml文件
- 从客户端运行的脚本更新服务器上的javascript变量
- 使用Web开发人员提供的Web API从android应用程序访问/更新服务器中的数据