A simple jQuery file uploading plugin.
<div class="dropzone">Drop file here or <input id="file" type="file" name="file" multiple></div>
$(function () { var $logs = $('.logs'), p = function (text) { return ('<p>' + text + '</p>'); }; $('#file').uploader({ url: 'json/request.json', dataType: 'json', // Note: The GET is for test as POST request is not allowed on Github Pages. method: /github/.test(window.location.host) ? 'GET' : 'POST', dropzone: '.dropzone', upload: function (e) { $logs.empty().append(p('All files uploading')); }, start: function (e) { $logs.append(p('* File ' + (e.index + 1) + ' uploading')); }, progress: function (e) { $logs.append(p('* File ' + (e.index + 1) + ' uploaded: ' + Math.round(e.loaded / e.total * 100) + '%')); }, done: function (e, data) { $logs.append(p('* File ' + (e.index + 1) + ' result: ' + data.result)); }, fail: function (e, textStatus) { $logs.append(p('* File ' + (e.index + 1) + ' result: ' + textStatus)); }, end: function (e) { $logs.append(p('* File ' + (e.index + 1) + ' completed')); }, uploaded: function (e) { $logs.append(p('All files uploaded')); } }); });