使用无数据存储的ExtJS读写器

使用无数据存储的ExtJS读写器,extjs,extjs4.1,Extjs,Extjs4.1,有没有一种方法可以利用ExtJS的reader、writer、request等类的强大功能而不使用存储?像一般Ajax请求一样?我希望能够定义一个能够接受我在应用程序的服务器响应中使用的“数据结构”的读取器,并在全局范围内执行函数。例如,如果在任何时候服务器上出现错误,可能会有一个特定的应用程序代码,读卡器将解释该代码并生成一个带有错误消息的窗口对话框。读卡器和写卡器实际上是代理的配置,有一个Ajax版本。你不必有一个商店来使用代理——你可以在没有商店的情况下“手动”使用代理 存储用于将模型与从

有没有一种方法可以利用ExtJS的reader、writer、request等类的强大功能而不使用存储?像一般Ajax请求一样?我希望能够定义一个能够接受我在应用程序的服务器响应中使用的“数据结构”的读取器,并在全局范围内执行函数。例如,如果在任何时候服务器上出现错误,可能会有一个特定的应用程序代码,读卡器将解释该代码并生成一个带有错误消息的窗口对话框。

读卡器和写卡器实际上是代理的配置,有一个Ajax版本。你不必有一个商店来使用代理——你可以在没有商店的情况下“手动”使用代理

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

至于问题的第二部分——无论您选择哪种类型的服务器通信(Ajax/Rest/Direct),都有一种从服务器捕获异常的方法。对于一些人来说,这比其他人要复杂一些(请参阅本文,了解Ajax可能出现的问题)。尽管如果深入研究一下ExtJS库代码,所有这些问题都可以很容易地解决。在我的例子中,我使用的是direct,类似于以下内容的东西(在应用程序
launch()
)捕获了几乎所有的服务器问题(您只需要确保您的服务器抛出异常):

要使用AJAX执行类似操作,您需要:

Ext.Ajax.on('requestcomplete', function( iConn, iResponse, iOptions, ieOpts ){
    // do something with iResponse here    
});

我说的不仅仅是例外。例如,假设服务器发送一个类型代码534,它应该告诉客户端提示用户上一个请求的授权代码。请原谅,我使用的是PHP和Direct,所以我可能不完全了解这是如何发生的-你说的“服务器发送”是什么意思?我是说在AJAX响应中。看看这个问题的答案:哦!在这种情况下,我添加了一个关于如何实现Ajax响应的示例
Ext.Ajax.on('requestcomplete', function( iConn, iResponse, iOptions, ieOpts ){
    // do something with iResponse here    
});