Добавить имя маршрута в контроллер @Route("/student/ajax", name="get-students")
Пример:
/**
* @Route("/student/ajax", name="get-students")
*/
public function ajaxAction(Request $request) {
if ($request->isXmlHttpRequest() || $request->query->get('showJson') == 1) {
$jsonData = array(
array(
'name' => 'name1',
'address' => 'addres1',
),
array(
'name' => 'name2',
'address' => 'addres2',
),
);
return new JsonResponse($jsonData);
} else {
return $this->render('@reservation/Default/ajax.html.twig');
}
}
Теперь в $.ajax
отправить запрос на имя маршрута url: "{{ path('get-students') }}"
Вывод файла ветки:
Name Address
name1 addres1
name2 addres2
WCF действительно поддерживает универсальные наборы. По проводу это передано как массив объектов (это - стандартный способ отправить списки/массивы/и т.д.), но WCF делает сериализацию/десериализацию для Вас, поэтому, что касается Вашего клиента/сервера, наборы универсальны.
Править: протест, конечно, что набор должен быть сериализуемым. Кроме того, смотрите на это, если Вы задающий Ваш вопрос, потому что Ваш пользовательский набор рассматривают как T [] на клиенте.
То, когда Вы добавляете/редактируете сервисный клиент, если Вы нажмете на кнопку "Advanced...", то Вы будете видеть опцию позволить, Вы для выбора набора вводите сервисный клиент, создаст. Значением по умолчанию является Система. Массив, но можно изменить его на Систему. Наборы. Универсальный. Список (наряду со многими другими вариантами).
Используя дженерики прекрасны, пока Вы используете WCF в обоих концах. Если Вы уже не имеете; необходимо тщательно рассмотреть сценарии, где non-wcf клиент, возможно, должен был бы использовать сервисы.