Jquery DataTables - data download

by Roman Joseph Rimorin

HTML

<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.3.1/css/buttons.dataTables.min.css">
<script src="//cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script src="//cdn.datatables.net/buttons/1.3.1/js/dataTables.buttons.min.js"></script>
<script src="//cdn.datatables.net/buttons/1.3.1/js/buttons.flash.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="//cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/pdfmake.min.js"></script>
<script src="//cdn.rawgit.com/bpampuch/pdfmake/0.1.27/build/vfs_fonts.js"></script>
<script src="//cdn.datatables.net/buttons/1.3.1/js/buttons.html5.min.js"></script>
<script src="//cdn.datatables.net/buttons/1.3.1/js/buttons.print.min.js"></script>
<button id="Generate" name="Generate">Generate Records</button>
<button id="Delete" name="Delete">Delete All</button>

<div class="container well">
  <table id="myTable" class="table table-striped table-bordered" cellspacing="0" width="100%"></table>
</div>

CSS

html {
  background: repeat-x scroll 0 0;
  overflow-y: scroll;
}

body {
  background: no-repeat scroll center top transparent;
  font-family: "Arial", "Helvetica", "Verdana", "sans-serif";
  font-size: 10px;
  margin: 0;
  min-height: 100%;
  padding: 0 0 20px;
}

.container {
  margin: 10px;
}

.dt-buttons {
  margin-left: 10px;
}

JavaScript

var dataSet = [];
var oTable = $('#myTable').DataTable({
    data: [],
    columns: [
        {
        data: "id",
        title: "Serial Number"
        }, 
        {
        data: "title",  	
        title: "Error"
        }
    ],
    dom: 'lBfrtip',
    buttons: [
        'copy', 'csv', 'excel', 'pdf', 'print'
		]
});

$('#Generate').click(function() {

  var root = 'https://jsonplaceholder.typicode.com';

  $.ajax({
    url: root + '/photos',
    method: 'GET'
  }).then(function(data) {
    oTable.rows.add(data).draw();
  });

});

$('#Delete').click(function() {
  oTable.clear().draw();
});