javascript - 从 Ext.data.Store 访问 http 状态码

标签 javascript ajax extjs xmlhttprequest extjs4

我有一个 http API(令人震惊的新技术)对设置不同响应状态的不同错误使用react。

问题是——在将 Ext.data.Store 与一些 XMLHttpRequest 内部代理一起使用时,处理这种状态的最佳方法是什么?据我了解,“加载”事件不会直接传递状态,“异常”也是如此,最后一个实际上在收到 4** 状态时甚至不会触发。

因此,正如我从代码中看到的那样,xhr 实例隐藏在 Ext.data.store 中,因此问题也可以表述为“处理低级 xhr 对象的最佳 extjs 实践是什么”。

最佳答案

Ext.data.Store 上没有异常 事件。相反,是 Ext.data.proxy.Server 及其子类(如 Ext.data.proxy.Ajax)定义了 exception event。 .监听器收到一个包含 http 状态的响应对象。

根据您的设置,您可以在商店的代理上注册一个监听器,或者 - 如果您的商店使用模型 - 在模型的代理上。

此测试设置适用于 Chrome 14 和 FF 6:

var store = Ext.create('Ext.data.Store', {
    fields: [ 'field1', 'field2'],

    proxy: {
        type: 'ajax',
        url: 'api/data.json',
        reader: {
            type: 'json',
            root: 'data'
        },
        listeners: {
            exception: function(proxy, exception, operation) {
                console.log(response.status);
            }

        }
    },
});
store.load(); 

关于javascript - 从 Ext.data.Store 访问 http 状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7496879/

相关文章:

javascript - CoffeeScript 变量初始化 : Why?

javascript - 在 javascript 中访问简单数组值

php - 停止机器人快速发送多个请求。 PHP + AJAX

扩展 : Need a confirmation message before closing the window

javascript - 如何在 Chart.js 上自定义边框样式

javascript - 如果所选时间位于使用 jquery 的下拉列表中给出的时间范围之间,则显示错误消息

php - Ajax 代码无响应

javascript - jQuery.ajax : How do I get the data to send easily?

java - Mac 上的 Sencha Cmd 安装 : Java not found

sencha-touch - 当用户滚动到列表末尾时如何更新 Sencha Touch List