Zend Framework 3 AJAX ответные данные

Я пытаюсь выполнить асинхронную проверку контактной формы в ZF3 с помощью ajax.
Вот мой ContactController

public function contactAction()
{
    $form = $this->form;
    $request = $this->getRequest();
    $response = $this->getResponse();
    $vm = new ViewModel(['form' => $this->form]);

    $form->setInputFilter(new ContactFormFilter());

    if (!$this->getRequest()->isPost())
        return new ViewModel(['form' => $this->form]);

    $data = $request->getPost();

    $form->setData($data);

        if (!$form->isValid())
        {
            $vm->setTerminal(true);
             return $response->setContent(ZendJsonJson::encode($form->getMessages()));
        }

}

и ниже контакт.phtml со скриптом jquery.

$(function(){
    $("#foo").submit(function(event){
        event.preventDefault();


        $.ajax({
            url: '/kontakt',
            type: 'POST',
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            async: true,
            data: ($("#foo").serialize()),
            success: function (data) {
                console.log(data);
                alert(data);
            },
            error: function (data) {
                console.log(data);

            }
        });
    })
})

Форма имеет» foo » id;

Проблема в том, что когда я отправляю, я получаю такой ответ каждый раз: (its from console)

Object
-email :Object
-message :Object
-subject :Object
-personal-data :Object

и когда я открываю для exmaple » объект сообщения»
он показывает мне: isEmpty:» поле требуется», даже если поле сообщения не пустое!

Может ли кто-нибудь знать, что я делаю неправильно?

1 ответ