2

有没有办法在没有存储的情况下利用 ExtJS 的阅读器、编写器、请求等类的强大功能?喜欢通用的 Ajax 请求?我希望能够定义一个阅读器,它可以接受我在应用程序的服务器响应中使用的“数据结构”,并在全球范围内执行功能。例如,如果在任何时候服务器上出现错误,可能会有特定的应用程序代码供读者解释并构建带有错误消息的窗口对话框。

4

1 回答 1

1

Reader 和 Writer 实际上是 Proxies 的配置,有一个 Ajax 版本。您不必拥有商店即可使用代理 - 您可以在没有商店的情况下“手动”使用代理。

存储用于将模型与从服务器/本地存储加载的一组记录链接。它们也大量用于网格、树、数据视图等。但如果你坚持不使用它们 - 你可以。

至于您问题的第二部分-无论您选择哪种类型的服务器通信(Ajax / Rest / Direct),都有一种方法可以从服务器捕获异常。对于某些人来说,它比其他人更棘手(请参阅此线程,了解 Ajax 可能存在的问题)。尽管如果您深入研究一下 ExtJS 库代码,所有这些都可以很容易地解决。在我的情况下,我使用的是 direct 并且类似于以下内容(在 application 中launch())几乎可以捕获所有服务器问题(您只需要确保您的服务器抛出异常):

    Ext.direct.Manager.on('exception', function(e, provide, eOpts) {
        Ext.MessageBox.alert('Server Error', e.message);
    });

要使用 AJAX 做类似的事情,您将拥有:

Ext.Ajax.on('requestcomplete', function( iConn, iResponse, iOptions, ieOpts ){
    // do something with iResponse here    
});
于 2012-08-05T21:41:13.293 回答