我有一个带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函数中,我想在我的新twig文件中附加twig模板。
但没有发生任何事情。
我还想在模板中使用data.deliveryRange的变量。
有可能吗?
答案 0 :(得分:2)
使用$this->renderView()
代替render()
方法。 renderView()
以字符串形式返回twig模板的内容,而render()
返回Response
个对象。
答案 1 :(得分:2)
尝试:
return new JsonResponse([
'deliveryRange' => $deliveryRange,
'html' => $this->renderView(':App:Command/deliveryRange.html.twig'),
]);
答案 2 :(得分:-1)
你需要这样做:
try {
....
} catch (IOException e) {
e.printStackTrace();
}