如何通过ajax显示带有twig的变量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过ajax显示带有twig的变量?相关的知识,希望对你有一定的参考价值。
我有一个函数,通过Ajax在我的页面上加载一个表单。
mypage.html.twig:
function forms(e,el) {
var id = $(el).attr("data-id");
var target = $(el).attr("data-target");
e.preventDefault();
var $link = $(e.currentTarget);
$.ajax({
method:'POST',
data: {
"id": id,
"target": target
},
url: $link.attr('href')
})
}
$('.create-item').on( 'click', function (e) {
forms(e,this);
});
MyController.php
$response = new JsonResponse(
array(
'message' => 'Success',
'output' => $this->renderView('form.html.twig',
array(
'entity' => $item,
'form' => $form->createView(),
))), 200);
return $response;
这是加载的表单(form.html.twig):
<section class="content-header" style="margin-bottom:20px">
<h1 style="float:left;margin-bottom:30px">{{ target }}</h1>
</section>
<section class="content" style="clear:left">
<div class="form-group">
{{ form_start(form) }}
{{ form_end(form) }}
</section>
表单已正确加载。但在<h1></h1>
地区,我想加载变量target
。
它无法正常工作,我收到一条错误消息:
变量“目标”不存在。
答案
您没有将发布的值target
传递给您的视图
$response = new JsonResponse(
array(
'message' => 'Success',
'output' => $this->renderView('form.html.twig',
array(
'entity' => $item,
'form' => $form->createView(),
'target' => $target, //<-----
))), 200);
return $response;
以上是关于如何通过ajax显示带有twig的变量?的主要内容,如果未能解决你的问题,请参考以下文章
在带有 Symfony2 的 Twig 中使用 % stylesheets % 标签时通过 Twig 运行 CSS 文件