Am I on the wrong path here?
I have a ajax call to upload some files.
I then create a array on the PHP side and send it back as JSON. But im not sure if the JSON format is correct.
Problem is I want to populate a dataTable with the returned JSON data, but I having difficulty reading the data. If its a single file then its fine and it works, but as soon as its more than one file
PHP CODE
$stmt = $db->prepare("SELECT * FROM {$table} WHERE uuid = :id"); $stmt->execute(array(":id" => $id)); $row = $stmt->fetch(); $json = array(); $json[] = $row; echo json_encode($json);
on the JQuery/AJAX call side
$(document).ready(function() { $('#myfiles').on("change", function() { var myfiles = document.getElementById("myfiles"); var files = myfiles.files; var data = new FormData(); for (i = 0; i < files.length; i++) { data.append('file' + i, files[i]); } $.ajax({ url: './inc/MediaScripts.php', type: 'POST', contentType: false, data: data, processData: false, cache: false }).done(function(html) { var t = $('#vidlib_dtable').DataTable(); var obj = eval(html); $.each(obj, function(key,value) { t.row.add( [ value.name, value.title, value.path, value.duration, value.uploaded_date, value.uploaded_by, value.keyword, value.comment, ] ).draw(); }); }); }); });
The original return has more columns, hence the above columns in the dataTable add.
The return looks like multiple (singular) JSON arrays.
[{"uuid":"236","name":"Koala.jpg"}] [{"uuid":"237","name":"Lighthouse.jpg"}]
I was wondering if it should not take the shape of something like this
[{"uuid":"236","name":"Koala.jpg"}, {"uuid":"237","name":"Lighthouse.jpg"}]
If the format that I receive the data in is fine, how do I go about looping trhough the multiple arrays on the JQuery side?