2013-10-24 3 views

ответ

22

Я использовал 2, который вы упомянули, но и пришлось переопределить эти:

Ext.override(Ext.data.proxy.Ajax, { timeout: 60000 }); 
Ext.override(Ext.form.action.Action, { timeout: 60 }); 

Обновление для ExtJS 5:

Похоже, вам нужно установить время ожидания Ext.Ajax, используя setTimeout() для ExtJS 5+, вместо того, чтобы просто устанавливать свойство:

Ext.Ajax.setTimeout(60000); 
+0

Это, кажется, работает. Спасибо. – Kabeer

+0

Как насчет срока? Я работаю над расчетом маршрутов, и я думаю, что это займет много времени, чтобы закончить ... –

3

я должен был сделать ниже:

Ext.Ajax.timeout= 60000; 
Ext.override(Ext.form.Basic, { timeout: Ext.Ajax.timeout/1000 }); 
Ext.override(Ext.data.proxy.Server, { timeout: Ext.Ajax.timeout }); 
Ext.override(Ext.data.Connection, { timeout: Ext.Ajax.timeout }); 
0

Я нашел это лучшее изменение для ExtJS 4 (проверено на 4.2.3):

// Connection uses its own timeout value hardcoded in ExtJS - we remove it so that Ext.data.Connection will then 
// fallback to using Ext.Ajax.timeout, thus giving a single place for setting the timeout 
// Bonus: you can change this at runtime 
Ext.define('Monitoring.overrides.Connection', { 
    override: 'Ext.data.Connection', 
    constructor: function() { 
    delete this.timeout; 
    this.callParent(arguments); 
    } 
}); 
Ext.define('Monitoring.overrides.ProxyServer', { 
    override: 'Ext.data.proxy.Server', 
    constructor: function() { 
    delete this.timeout; 
    this.callParent(arguments); 
    } 
}); 

Теперь вы можете использовать Ext.Ajax.timeout, и он изменит все вызовы AJAX (не знаю о представлении формы).

Смежные вопросы