Я создаю RESTful API для личного проекта, а административная область использует Ext.Поскольку API требует, чтобы токен передавался взад и вперед через пользовательский заголовок «X-API-Auth», я должен иметь возможность добавлять его к каждому Ajax-запросу, сделанному Ext.
Например, вВ области управления пользователями у меня есть GridPanel, использующий JsonStore, отображающий список зарегистрированных пользователей.Свойство autoLoad имеет значение TRUE.Таким образом, при первом посещении экрана GridPanel автоматически заполняется.
Прежде чем что-либо отображать, я включаю следующие заголовки:
Ext.Ajax.defaultHeaders = {
'X-API-Auth' : __API_KEY,
'Accept' : 'application/json'
};
Где '__API_KEY' - токен.
Теперь я понимаю, что эти пользовательские заголовки теперь должны отправляться при каждом вызове Ajax.Когда я впервые посещаю страницу со списком участников, я получаю 403 Запрещенный ответ, генерируемый API.Это связано с тем, что первоначальный вызов Ajax, выполняемый GridPanel, не отправляет требуемые заголовки.API функционирует должным образом, поскольку без заголовков он не может аутентифицировать запрос.
Теперь, если я нажму кнопку «перезагрузить» во включенном компоненте PagingToolbar, связанном с JsonStore GridPanel, он отправляет заголовки.Все вызовы Ajax к конечной точке списка участников, вызванные вручную, дают желаемый результат.
Существует ли причина, по которой «autoLoad» в хранилище не учитывает свойство «defaultHeaders»?Если кто-то может пролить свет на это, это было бы очень ценно.Я также спрашивал об этом на форумах Sencha, и никто, кажется, не имеет ответа.
Спасибо!