3

我的商店负载有问题。Extjs 在 30 秒后取消加载。是否有一些参数或其他东西可以增加存储加载时间?

这是商店的例子:

  var store = Ext.create('Ext.data.Store', {
        model : 'store_model',
        proxy : {
            type : 'ajax',
            url : 'data/backend.php',              
            reader: {
                type: 'json',
                root: 'data'
            },
            writer: {
                type: 'json'
            }

        },          
        autoLoad : true
    });
4

4 回答 4

7

见这里:http ://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Ajax

Ext.Ajax.timeout = 60000;

于 2013-10-02T07:03:22.253 回答
2

这允许仅更改一个商店的超时:

store.proxy.setTimeout(60000);

在 ExtJs 6.2 中测试

于 2017-05-19T12:50:41.063 回答
1

store 是调用 ApiServer 的声明,它将模型视图链接到服务器模型数据访问。

首先,您必须定义与调用相关联的方法,您将使用类型是“uxproxy”、“ajax”、“html”

当您使用它们时,您可以将链接呼叫超时设置为当前,

您必须使用回调调用:

function(response, success ){
}

但真正发生的是当你打电话时

store.load(elemn, {callback:function(contractId,success) {              
    if (success) {
        ...
    }
})

此调用在代码执行时读取加载到 DOM 的属性,将其超时更改为 30000 毫秒

所以..您必须覆盖该属性。如果您不这样做,之前发布的代码将不起作用

Ext.override(Ext.data.proxy.Ajax, { timeout: 600000 });

(这将覆盖关闭您的通话的默认属性)

Ext.override(Ext.form.action.Action, { timeout: 600 });

希望这有帮助!

于 2016-05-04T07:06:34.770 回答
0

这个话题太老了,但仅供参考,谁想要快速把戏。

Sencha 中 Ajax 调用的默认值为30000 毫秒(30 秒) 因此,您必须将配置设置为默认行为Ext.data.proxy.Ajax,例如 60s,例如:

Ext.define('Core.data.proxy.WrapperAjax',{
    extend: 'Ext.data.proxy.Ajax',
    alias: 'proxy.wrapperAjax',
    config: {
        timeout: 60000
    }
    ...
});

Ext.data.Store或在代理中覆盖,例如:

Ext.define('MyApp.store.MyStore', {
    extend: 'Ext.data.Store',
    proxy: {
        ...
        timeout: 60000, 
        ...
    },
});
于 2021-08-20T07:55:18.240 回答