Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function start_long_task() {
- // create a progress bar
- var nanobar = new Nanobar({
- bg: '#88f'
- });
- // send ajax POST request to start background job
- $.ajax({
- type: 'POST',
- url: '/longtask',
- success: function(data, status, request) {
- status_url = request.getResponseHeader('Location');
- update_progress(status_url, nanobar);
- },
- error: function() {
- alert('Unexpected dumb error');
- }
- });
- }
- function update_progress(status_url, nanobar) {
- // send GET request to status URL
- $.getJSON(status_url, function(data) {
- // update UI
- percent = parseInt(data['current'] * 100 / data['total']);
- nanobar.go(percent);
- if (data['state'] == 'PENDING' || data['state'] == 'PROGRESS') {
- // rerun in 2 seconds
- setTimeout(function() {
- update_progress(status_url, nanobar);
- }, 100);
- }
- });
- }
- $(function() {
- $('#start-bg-job').click(start_long_task);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement