Ext JS 4.0 отменяет загрузку магазина, если прокси встречает исключение - PullRequest
1 голос
/ 16 января 2012

Могу ли я как-нибудь остановить процесс .load (), когда прокси-сервер, связанный с магазином, встречает исключение, такое как 404?

Я использую прокси Ajax. На прокси есть событие 'исключение', но я не мог понять, что именно делать в обратном вызове.

Прямо сейчас хранилище пытается вставить данные в модель (используя определенные мной сопоставления), хотя данных нет, что приводит к появлению ужасных красных сообщений об ошибках.

UPDATE

Возможно, было бы лучше не останавливать процесс load (), а вместо этого обрабатывать недостающие данные в элементе (считывателе?), Который фактически преобразует JSON в экземпляры модели. Идея состоит в том, чтобы обрабатывать недостающие данные изящно. Как бы я это сделал?

1 Ответ

0 голосов
/ 15 февраля 2012

Это немного сложно, особенно если ваш магазин связан с компонентом просмотра данных.

Процесс load() будет остановлен, как только он достигнет события exception, поэтому я считаю, что у вас там нет контроля.

Вы можете вручную заполнить данные в хранилище, используя store.add() при обработке события Ajax exception,

ajax.on('exception', function () {
    // since exception was called, i'll have to input data myself.
    store.add({
        field1: 'value1', 
        field2: 'value2'
    });
}); 

Мой код основан на синтаксисе ExtJS 3 и может отличаться в зависимости от ExtJS4, но концепция должна быть такой же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...