extjs 存储加载在30秒后取消

x7yiwoj4  于 2022-11-04  发布在  其他
关注(0)|答案(3)|浏览(146)

我遇到了存储加载的问题。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
    });
csga3l58

csga3l581#

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 });

(this将覆盖关闭调用默认属性)

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

希望这能有所帮助!

bvjxkvbb

bvjxkvbb2#

这允许仅更改一个存储的超时:

store.proxy.setTimeout(60000);

在ExtJ 6.2中测试

nkoocmlb

nkoocmlb3#

这个主题太老了,但仅供参考,谁想做快速的技巧。
在 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, 
        ...
    },
});

相关问题