Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Отлов серверных ошибок {success:false} (https://javascript.ru/forum/extjs/62978-otlov-servernykh-oshibok-%7Bsuccess-false%7D.html)

khusamov 10.05.2016 21:11

Отлов серверных ошибок {success:false}
 
Как отлавливать ответы сервера с ошибками {success:false} ? Например чтобы их выводить в консоли.

Как отлавливать глобально события exception у Прокси: http://docs.sencha.com/extjs/6.0/6.0...vent-exception ?

Через эту штуку http://docs.sencha.com/extjs/6.0/6.0...p.domain.Store вроде не получается. Так как нет событий, связанных с ошибками в прокси...

Infarch 11.05.2016 10:48

Для стора я переписывал onBatchException - помогло.

khusamov 11.05.2016 11:36

Цитата:

Сообщение от Infarch (Сообщение 416214)
Для стора я переписывал onBatchException - помогло.

Глобально? При помощи override?

Может лучше домен свой сделать? Вот такой например:




Ext.define('Ext.app.domain.ProxyServer', {
    extend: 'Ext.app.EventDomain',
    singleton: true,
    
    requires: [
        'Ext.data.proxy.Server'
    ],
    
    type: 'proxyServer',
    
    constructor: function() {
        var me = this;
        
        me.callParent();
        me.monitor(Ext.data.proxy.Server);
    }

});

Infarch 11.05.2016 11:49

Нет, не глобально. Просто когда создавал свои сторы, при необходимости добавлял этот обработчик, а что он делал это уже зависело от конкретного случая.

Насчет домена я согласен, идея тоже интересная. Но я ими никогда не пользовался, тут еще надо осмыслить. А как вы его думаете использовать? Подписаться на exception в глобальном контроллере приложения?

khusamov 11.05.2016 11:51

Цитата:

Сообщение от Infarch (Сообщение 416218)
А как вы его думаете использовать? Подписаться на exception в глобальном контроллере приложения?

Подключить домен в app.js через requires.
И да, потом подписываться в listen.

khusamov 11.05.2016 11:53

Странно, что нигде ситуация success:false не обрабатывается.

khusamov 13.05.2016 12:58

В общем, попробую домен сделать. Потом расскажу что из этого вышло.

Raydezm 18.05.2016 23:26

http://docs.sencha.com/extjs/6.0/6.0...ore-event-load

Там есть successful.

В крайнем случае там есть объект операции, у которого есть
http://docs.sencha.com/extjs/6.0/6.0...d-cfg-response

Но не рекомендую, он приватный.

khusamov 19.05.2016 13:41

Цитата:

Сообщение от Raydezm (Сообщение 416964)

Мне нужен глобальный отлов. А локально как ловить я знаю.

nohuhu 19.05.2016 22:19

Для таких вещей, как централизованная обработка событий и т.п. есть более адекватный вид транспорта, называется Ext Direct. Голые Ajax запросы всегда были хаковым хаком, им и останутся. Что в переводе на русский означает: всё вручную.


Часовой пояс GMT +3, время: 03:20.