2015-10-13 44 views
0

如何在ajax成功中顯示我的結果,因此它顯示返回結果並且不重新加載頁面。如何在ajax請求後顯示結果

這是我的腳本---

<script> 
    $(document).ready(function() { 
     $("#searchform").on('submit', function (e) { 
      $.ajax({ 
       url: '/home', 
       type: 'post', 
       data: {contentSearch: $('#contentSearch').val()}, 
       success: function (data) { 
        $('table.my-data-table').dataTable({}) // the table 
        // here i want to show the result 
        // how can i show the result here 
        // i am passing the result as result in the twig file 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 

控制器我發送的結果像「結果」 => $結果

return $this->render('AdminBundle:Home:home.html.twig', array(
     'pageTitle' => 'my ajax', 
     'result' => $result // result sending to twig file 
      ) 

所以,我怎麼能顯示通過Ajax的結果任何人都知道如何解決這個問題。

非常感謝。

+0

如果您要更換整個頁面,'$(document.body的).html(data);'(例如,使用選擇器替換一個部分)然後你可以在表上調用'.dataTable'。 –

+0

@TylerSebastian我不想替換整個頁面,我只是想在表格或某處顯示結果,所以整個頁面不需要替換我猜,只有表格中的值需要替換 –

回答

1

使用event.preventDefault()來防止默認操作,以便頁面不會重新加載。

$("#searchform").on('submit', function (event) { 
    event.preventDefault(); 
    // ... 
}); 

如果你接收到包含表數據,然後將它傳遞給數據屬性上dataTable數據數組:

success: function (data) { 
    $('table.my-data-table').dataTable({ 
     data: data 
    }); 
    } 
+0

感謝您的回答,但它不是爲我工作,我怎麼可以替換整個頁面而不被重新加載頁面,我已經放在最後返回false在我的查詢我想我也做同樣的事情 –

相關問題