Dashboard Widget Refresh
Dashboard Widget Refresh: free step-by-step lesson with examples, common mistakes, and interview tips — part of jQuery Tutorial on Toolliyo Academy.
On this page
jQuery Tutorial · Lesson 80 of 100
Dashboard Widget Refresh
Setup & DOM ✓ → Events Effects AJAX ✓ → Perf & Integrate → Ship & Projects
Perf & Integrate · 3 — Harden · ~10 min · App Integration
What is this?
Each dashboard widget owns a refresh() that shows a spinner, GETs JSON, renders with text, and handles fail. A top-level Refresh all calls each widget’s refresh.
Why should you care?
QueryVerse home pages must not reload the entire layout to update one KPI.
See it live — copy this example
Examples include the jQuery 3.7 CDN. Paste into an HTML file or use Run Example to preview.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>QueryVerse</title>
<style>
body { font-family: system-ui, sans-serif; margin: 1.25rem; }
.box { padding: .75rem; border: 1px solid #ccc; border-radius: 8px; margin: .5rem 0; }
.muted { color: #666; }
button { margin-right: .35rem; margin-top: .35rem; }
input, select, textarea { margin: .25rem 0; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid #ddd; padding: .4rem .55rem; text-align: left; }
.hidden { display: none; }
.row-odd { background: #f7f7f7; }
.active { font-weight: 700; }
.toast { background: #111; color: #fff; padding: .5rem .75rem; border-radius: 6px; }
</style>
</head>
<body>
<button type="button" id="all">Refresh all</button>
<div id="kpi" class="box">KPI: —</div>
<div id="feed" class="box">Feed: —</div>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function () {
function refreshKpi() {
$('#kpi').text('KPI: loading…');
return $.getJSON('https://jsonplaceholder.typicode.com/todos/1').done(function (t) {
$('#kpi').text('KPI todo #' + t.id + ' · ' + (t.completed ? 'done' : 'open'));
}).fail(function () { $('#kpi').text('KPI: error'); });
}
function refreshFeed() {
$('#feed').text('Feed: loading…');
return $.getJSON('https://jsonplaceholder.typicode.com/posts/1').done(function (p) {
$('#feed').text('Feed: ' + p.title.slice(0, 48) + '…');
}).fail(function () { $('#feed').text('Feed: error'); });
}
$('#all').on('click', function () {
$.when(refreshKpi(), refreshFeed());
});
$('#all').trigger('click');
});
</script>
</body>
</html>
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- Return jqXHR from refresh functions for $.when.
- Abort on page leave.
- Stagger intervals so widgets do not align stampedes.
Practice next
- Watch initial auto refresh.
- Click Refresh all.
- Break a URL and see isolated error.
- Interval refresh every 60s with visibility check.
- Cache ETags later.
Remember
Per-widget refresh(). Parallel with when. Isolated error states.
Ops home KPIs
A Swiggy Instant QueryVerse city-manager home refreshes KPI and feed independently.
Outcome: Refresh all uses $.when without a full page reload.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!