Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2016, 07:36
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Изменить параметры отправки remoteSort и remoteFilter
Всем привет!

Делаю REST API и столкнулся с крайне странной ситуацией.

1. Если я включаю сортировку на стороне сервера с помощью remoteSort:true, то я вижу такой GET реквест:
GET http://app/api/v1/employees?_dc=1477437404042&page=1&start=0&limit=25&
sort=%5B%7B%22property%22%3A%22lastname%22%2C%22direction%22%3A%22ASC%22%7D%5D


Параметр sort при этом выглядит вот так:
[{"property":"lastname","direction":"ASC"}]


Я получаю Json в массиве , поэтому вынужден делать вот такие вещи на стороне сервера:
$sort = json_decode($request->get('sort'));
$property = $sort[0]->property;
$direction = $sort[0]->direction;


Выглядит ужасно, заставляя делать лишние движения.

2. Если я включаю фильтрацию на стороне сервера с помощью remoteFilter: true, то получаю такой реквест:
GET http://app/api/v1/employees?_dc=1477438685391&page=1&start=0&limit=25&
sort=%5B%7B%22property%22%3A%22lastname%22%2C%22direction%22%3A%22ASC%22%7D%5D&
filter=%5B%7B%22operator%22%3A%22like%22%2C%22value%22%3A%22%5Cu043c%5Cu0435%22%2C%22property%22%3A%22lastname%22%7D%5D


Параметр filter выглядит так:
[{"operator":"like","value":"\u043c\u0435","property":"lastname"}]


Получаем JSON в массиве с закодированными символами, если это не латиница
Это текст `ме` на русском, однако перекодировать, как я описал в 1-м случае, его не получается, выходит такая ерунда:
ме

Конечно, бессмысленно отправлять это в БД.

Такой кусок кода есть в `index.html`:
Код:
<meta charset="UTF-8">
И файл сохранен в UTF8 без BOM.

Пытался также добавить headers параметр, но безуспешно:
proxy: {    
    headers: {'Content-Type': "text/html; charset=utf-8" },
    ...
}


Так как все-таки поменять вывод параметров (без этих вложений в массив) и кодировку?

p.s. Есть фреймворк на базе ExtJS, там все параметры отправляются в гораздо более удобном виде:
Код:
direction DESC
sort lastname
query ме
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2016, 07:49
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Создал тему также на форуме Сенчи, посмотрим ответят ли там:
https://www.sencha.com/forum/showthr...e-and-encoding
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт для отправки POST запроса и вставки ответа в параметры флеша smls Events/DOM/Window 2 05.07.2014 18:25
Как изменить параметры у fieldset? exvion ExtJS 2 29.01.2010 22:43