Как я могу переопределить тайм-аут JS JsonStore Расширения?

У меня есть JsonStore, который должен возвратиться из Запроса HTTP, который занимает больше времени, чем 30 секунд.

При установке свойства "тайм-аута" на любом, конфигурация JsonStore не переопределяет 30 вторых тайм-аутов, ни один не делает установку прокси (вместо того, чтобы просто установить свойство URL) и поместить тайм-аут на прокси.

Как я могу расширить этот тайм-аут?

(Я использую Расширение JS 3.1.1),

var ds = new Ext.data.JsonStore({
    autoSave:       true,
    method:         "POST",
    /*url:          "search-ajax.aspx",
    timeout:        120000,*/
    root:           "rows",
    totalProperty:  "results",
    idProperty:     "primarykeyvalue",
    proxy:      new Ext.data.HttpProxy({ url: "search-ajax.aspx", timeout: 120000 }),
    fields:     previewColumnConfig,
    baseParams: {
        Command:    "",
        ID:     primaryKeyValue,
        Entity: entityFullName,
        vetype: ValidationEntityType,
        vepk:       ValidationEntityPK,
        now:        (new Date()).getTime()
        },
    writer: new Ext.data.JsonWriter({
        encode:     true,
        listful:    false
        })
    });
16
задан richardtallent 12 February 2010 в 17:06
поделиться

1 ответ

Если вы хотите, чтобы время ожидания было одинаковым для всего приложения, установите его глобально в синглтоне Ext.Ajax .

Ext.Ajax.timeout = 120000; //2 minutes

Если вы хотите, чтобы тайм-аут устанавливался по-другому только для одного запроса, вам нужно определить HttpProxy в переменной и изменить одно из его свойств, прежде чем передавать его в JsonStore конфиг. Свойство conn принимает параметры, которые будут использоваться только для этого запроса.

var proxy = new Ext.data.HttpProxy({ url: "search-ajax.aspx" });
proxy.conn = { timeout: 120000 };
36
ответ дан 30 November 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: