Symfony 3通过ajax获取表单,发送参数以形成模型并执行自定义查询

时间:2017-01-16 03:49:16

标签: php jquery ajax symfony

我有控制器,其中定义了路线

/**
 * @Route("/", options={"expose"=true}, name="AppBundle_Frontend_index")
 * @Template
 */
public function indexAction(Request $request)
{
    $form = $this->get('form.factory')->createNamed(null, SearchCarsType::class, new SearchCars());
    $form->handleRequest($request);
    $formView = $form->createView();
    if ($form->isSubmitted()) {
        $cars = $this->get('app.car_repository')->findByForm($form->getData());
        $response['success'] = true;
        return new JsonResponse( $response );
    } else {
        $cars = $this->get('app.car_repository')->findAll();
    }
    return [
        'cars' => $cars,
        'form' => $formView
    ];
}

我有src / From / Model我获取表单数据

class SearchCars
{
public $capacityFrom;
public $capacityTo;
public $orderBy;
}

我有ajax

$("#searchCars").submit(function (e)
{
    e.preventDefault();
    var url =  Routing.generate('AppBundle_Frontend_index');
    var formSerialize = $(this).serialize();
    $.post(url, formSerialize, function (response)
    {
        console.log(response);
    }, 'JSON');
});

当我按下提交按钮时,我的表单已发布,我可以读取通过ajax发布的数据。问题是我无法将其添加到我的表单模型中,因此可以将它们传递到我的存储库以使用查询构建器进行自定义搜索。我可以使用$ request-> get('data_name')在控制器中获取数据,但我无法将其发送到模型。 有什么建议吗?

0 个答案:

没有答案