如何显示成功的结果 ajax 到树枝文件



我是Symfony的新手!我使用symfony 3。当我输入搜索时,我有一个搜索输入,我想在树枝文件中显示结果。我从 ajax 获得了正确的结果,并且显示数据结果从 ajax 到 twig 文件并在此处使用循环时遇到问题。这是我的控制器

/**
 * @Route("/ajax_search", name="ajax_search", options={"expose"=true})
 */
public function ajaxSearchAction( Request $request)
{
    $string = $request->get('search_items');
    $users = $this->getDoctrine()
        ->getRepository('AppBundle:Item')
        ->findEntitiesByString($string);
    $encoders = array(new XmlEncoder(), new JsonEncoder());
    $normalizers = array(new GetSetMethodNormalizer());
    $serializer = new Serializer($normalizers, $encoders);
    $jsonContent = $serializer->serialize($users, 'json');
    $response = new Response($jsonContent);
    return $response;
}

阿贾克斯 :

$(document).ready(function () {
    $("#search_items").keyup(function () {
        var q = $("#search_items").val();
        var url = '../ajax_search?search_items=' + q;
        $.ajax({
            url: url ,
            type: 'POST',
            dataType: 'json',
            data: {q: q},
            success: function(data){
                var result = JSON.stringify(data);
                $('.test').html(result); //return correct data
            }
        });
    });
});

和我的树枝

<input type="text" name="search" placeholder="search" id="search_items"/>
<div class="test"></div>//i want to get data and use loop in here

在渲染 twig 模板的操作中,您需要传递要在模板中使用的代码,如下所示:

        return $this->render(
        'yourTemplate.html.twig',
        array(
            'yourKey' => callYourFunctionToGetTheData()
        )
    );

在 Twig 中,您可以像这样处理数据:

<div>{{ yourKey }}</div>

在Twig中是数组,对象和可能的"正常"值,例如整数,字符串等。

希望这对您有所帮助!

查看树枝文档以获取更多树枝文档

问候

相关内容

  • 没有找到相关文章