[英]Call twig template in JS
我有一個帶有symfony2的json api:
return new JsonResponse(array(
'deliveryRange' => $deliveryRange,
'html' => $this->render(':App:Command/deliveryRange.html.twig'),
));
傳遞范圍是一個數組,html變量將我的樹枝模板發回給我。
這是我的JS:
callDeliveryRange: function(){
$.ajax({
type: "POST",
url: Command.routeApiRange,
cache: false,
data: {},
success: function (data, status) {
Command.htmlDeliveryRange(data);
},
})
},
htmlDeliveryRange: function(data){
$('#content-delivery-range').html(data.html);
},
在htmlDeliveryRange函數中,我想將樹枝模板附加到新的樹枝文件中。
但是什么也沒發生。
我也想在模板中使用data.deliveryRange變量。
可能嗎?
使用$this->renderView()
代替render()
方法。 renderView()
以字符串形式返回樹枝模板的內容,而render()
返回Response
對象。
嘗試一下:
return new JsonResponse([
'deliveryRange' => $deliveryRange,
'html' => $this->renderView(':App:Command/deliveryRange.html.twig'),
]);
您需要做:
$lReturn['html'] = $this->renderView(':App:Command/deliveryRange.html.twig');
$lReturn['deliveryRange'] = $deliveryRange;
return new Response(json_encode($lReturn), 200, array('Content-Type'=>'application/json'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.