如何将成功 ajax 的结果显示到 twig 文件
How to display result in success ajax to twig file
我是 Symfony 新手!我使用 symfony 3。当我输入搜索时,我有一个搜索输入,我想在 twig 文件中显示结果。我收到了从 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;
}
ajax :
$(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
在呈现树枝模板的操作中,您需要传递要在模板中使用的代码,如下所示:
return $this->render(
'yourTemplate.html.twig',
array(
'yourKey' => callYourFunctionToGetTheData()
)
);
在 Twig 中,您可以这样处理您的数据:
<div>{{ yourKey }}</div>
Twig 中有数组、对象和 "normal" 个可能的值,例如整数、字符串等。
希望对您有所帮助!
查看 twig 文档了解更多信息 Twig Documentation
问候
我是 Symfony 新手!我使用 symfony 3。当我输入搜索时,我有一个搜索输入,我想在 twig 文件中显示结果。我收到了从 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;
}
ajax :
$(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
在呈现树枝模板的操作中,您需要传递要在模板中使用的代码,如下所示:
return $this->render(
'yourTemplate.html.twig',
array(
'yourKey' => callYourFunctionToGetTheData()
)
);
在 Twig 中,您可以这样处理您的数据:
<div>{{ yourKey }}</div>
Twig 中有数组、对象和 "normal" 个可能的值,例如整数、字符串等。
希望对您有所帮助!
查看 twig 文档了解更多信息 Twig Documentation
问候