簡體   English   中英

在JS中調用樹枝模板

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM