我是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中是数组,对象和可能的"正常"值,例如整数,字符串等。
希望这对您有所帮助!
查看树枝文档以获取更多树枝文档
问候