extjs 5.1 возврат данных success в формате JSON

255
27 октября 2017, 14:33

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

Вопрос в следующем есть такой интерфейс:

Реализовываю поиск учеников через AJAX. Есть такой код:

Ext.Ajax.request({ 
  url: '/admin/learner/getLearnerBySearch', 
  params: { 
    search: inputSearch.rawValue 
  }, 
  waitMsg: 'Загрузка...', 
  success: function(data) { 
    //????.html(data.responseText); Как тут быть? 
  } 
});

Данным кодом я отдаю значение поиска в контроллер, вытягиваю запросом нужных людей в формате JSON получаю такую строку:

[{ 
  "id": 16, 
  "fio": "\u041a\u043b\u0438\u043c\u043e\u0432\u0430 \u0412\u0430\u043b\u0435\u0440\u0438\u044f", 
  "email": "ms.klg4545453@mail.ru", 
  "phone": "+7(920)31445459", 
  "group": "244", 
  "block": 0 
}]

Теперь вопрос, в какой элемент в extjs вставить эту строку в success, чтоб появились в окошке представленном выше те записи, которые пришли из контроллера и все правильно отработало.

Answer 1

Вам не надо делать Ext.Ajax.request запрос для Grid. У него есть Store для этого.
В обработчике поиска делаете примерно так:

grig.getStore().addFilter({property: 'any', value: inputSearch.rawValue, operator: 'like'});
grid.getStore().loadPage(1); // если autoLoad: false

У store для этого должен быть конфиг remoteFilter: true.
Метод addFilter: https://docs.sencha.com/extjs/5.1.3/api/Ext.data.Store.html#method-addFilter

В результате Store будет загружаться с сервера с параметром:

filter:[{"property":"any","value":"keyword","operator":"like"}]

Который уже на сервере разберете и отфильтруете.

Но можно и просто добавить параметр к загрузке:

grid.getStore().getProxy().setExtraParam('search', inputSearch.rawValue);
grid.getStore().loadPage(1);

Тогда на сервер улетит запрос с параметром: ?search=...

READ ALSO
Нужна помощь в построении запроса в Eloquent ORM Laravel

Нужна помощь в построении запроса в Eloquent ORM Laravel

Есть таблица постов posts (id, name), есть таблица тэгов tags (id, name)Связаны они между собой с помощью связи "многие ко многим", через вспомогательную...

388
Telegram API. Отправка сообщения с сервера

Telegram API. Отправка сообщения с сервера

Доброго дня! Подскажите плиз как с сервера передать сообщение с необходимой информацией "самому себе", реально ли это вообще или только в Боты?

397
PHP 7 - обработка ошибок

PHP 7 - обработка ошибок

Описываю класс - обработчик ошибокНекоторые его методы:

270