2017-05-11 18 views
0


Ajaxレスポンスからデータを設定することはできません。Ajaxレスポンスからデータをtwigに設定する方法

Unexpected character "$".

聞いて私はJavaScript:

function ajaxSearchForm() { 
var template = 
     "<tr>" + 
     "<td>${id}</td>" + 
     "<td>${dpId}</td>" + 
     "<td>${name}</td>" + 
     "<td>${price}</td>" + 
     "<td>${discount}</td>" + 
     "<td>${description}</td>" + 
     "<td>${image}</td>" + 
     "<td>${companyName}</td>" + 
     "<td>${categoryName}</td>" + 
     "<td><a class='btn btn-sm btn-default edit_link'></a><i class='fa fa-cart-plus' aria-hidden='true'></i>" + 
     "{{ render(controller('MainBundle:Certificate:addCertificate', {'certificate': " + ${id} ", 'cart': 1215'})) }} " + 
     "</td>" + 
     "</tr>"; 

var empty = 
     "<tr>" + 
     "<th colspan='10'>No result...</th>" + 
     "</tr>"; 

$('#form_search_certificate button').on('click', function (e) { 
    e.preventDefault(); 

    $.ajax({ 
     type: "POST", 
     url: "{{ path('app.admin.search.certificate')}}", 
     dataType: 'json', 
     data: $('#form_search_certificate').serialize(), 
     success: function (data) { 
      $("#search_result").empty(); 
      var dataParse = JSON.parse(data.result_search); 
      if (dataParse.length !== 0) { 
       for (var i = 0; i < dataParse.length; i++) { 
        $.tmpl(template, { 
         "id": dataParse[i].id, 
         "dpId": dataParse[i].dp_id, 
         "name": dataParse[i].name, 
         "price": dataParse[i].price, 
         "discount": dataParse[i].discount.value, 
         "description": dataParse[i].description, 
         "image": dataParse[i].image, 
         "companyName": dataParse[i].company.name, 
         "categoryName": dataParse[i].category.name, 
         "cart_id": data.cart_id 
        }).appendTo("#search_result"); 
       } 
      } else { 
       $.tmpl(empty, {}).appendTo("#search_result"); 
      } 
     } 
    }); 
}); 
} 
ajaxSearchForm(); 
${id}
私はjQueryのテンプレート(Ajaxのレスポンスを使用)、 と私は、このテンプレートではデータのを設定することはできません小枝エラーを与えると、フロントエンド上のコンテンツをレンダリングします

答えて

0

ジャバスクリプトを通じてそれをレンダリングしようとしているのレンダリング私はreturn render()から裾を得る)。

url: '{{ path("app.admin.search.certificate", {"cartId": cart_id}) }}', 

そして、すべての仕事です:
はその後、AJAXテンプレートで、私はこのcat_idとURLに設定され得ます!

0

あなたはそれがでレンダリング呼び出す必要があり、このラインで小枝に

"{{ render(controller('MainBundle:Certificate:addCertificate', {'certificate': " + ${id} ", 'cart': 1215'})) }} " + 

をJavaScriptの変数を混合しています(アクションで
、このテンプレートをレンダリングウィッヒは、フィールドcat_idを持っている必要がありますAJAXによって呼び出され、そのREPONSEを返すコントローラではなく、私は私のAjaxのURLに設定されているデータがどのようにホエーを見つけ

+0

私はこれを行いますが、動作しません。 '$ qwe = [$ certificate、$ cart]; $ certificate = '+ $ {id}'; $ cart = 1215; ' –

関連する問題