2017-05-10 92 views
0


我砍所有的邏輯從主控制器與阿賈克斯的搜索,把它放在一個自定義的控制,呈現在我的模板:渲染控制器,不工作Ajax;

{{render(controller('MainBundle:SearchCertificate:searchCertificate'))}} 

但阿賈克斯不起作用。

我在我的symfony工具欄Ajax請求(提交表單時)如下:

POST XHR 200 /app_dev.php/main/order/create 820ms 14f184

我設置斷點(在php代碼中),但PHPStorm跳過它們(沒有結果)。

+0

所以當你點擊探查Ajax請求,這是什麼告訴你嗎? – DevDonkey

回答

0

我找到了答案,我忘了爲我的新控制器創建路由。 而改變URL在阿賈克斯(url: "{{ path('app.admin.search.certificate')}}"

路由器:

app.admin.search.certificate: 
    path: /admin/serach-certificate 
    defaults: { _controller: MainBundle:SearchCertificate:searchCertificate } 

AJAX:

$.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"); 
     } 
    }});