2017-05-11 1 views
0


Ich kann nicht Daten in Zweig von Ajax Antwort festlegen. ${id}
ich mache Inhalt auf Front-End mit jQuery-Vorlage (verwenden Ajax-Antwort), und ich kann nicht Daten in dieser Vorlage Zweig gibt Fehler gesetzt:Wie kann ich Daten in Zweig von Ajax Antwort setzen

Unexpected character "$".

meinen JavaScript hören:

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(); 

Antwort

0

ich die Molke Wie Einstelldaten in meiner Ajax-url:
In Aktion, wich diese Vorlage Rendering-Feld haben muss cat_id (Ich bekomme Saum von return render()).
Dann in Ajax-Vorlage Ich erhalte diese cat_id und setzen in url:

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

Und das alles ist Arbeit!

0

Sie sind in dieser Zeile Javascript-Variablen in Zweig Mischen

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

Sie müssen das machen in anrufen die Steuerung von Ajax und geben die reponse davon genannt machen, anstatt dass der Versuch, durch Javascript zu machen

+0

Ich mache das, aber es funktioniert nicht: '$ qwe = [$ Zertifikat, $ Warenkorb]; $ zertifikat = '+ $ {id}'; $ cart = 1215; ' –

Verwandte Themen