Polling AJAX is tricky. If the next interval triggers before the last AJAX request is complete, your app is doomed!! This creates a domino effect where your queue for requests fill up faster then it can complete. Your queue will NEVER finish… similar to an infinite loop.
In light of this, you should never put AJAX into a setInterval function. A clean, more robust option is this:
Notice the “complete” event of the AJAX triggers the self-executing function. Instead of using setInterval, it is using setTimeout that waits for 5 seconds then calls the AJAX. The process starts again when the “complete” triggers, waits 5 seconds, calls the AJAX again, then complete triggers once more, and so forth. Your queue of requests will always be one. If you study this, you will realize how clean this is!
- Simple AJAX Polling Plugin for jQuery
- JQuery PeriodicalUpdater (AJAX long polling/server polling)
- jQuery AJAX Documentation
- HTML5 Web Sockets (the future!)
Latest posts by Guest Posts (see all)
- Kendo UI Customization with CSS - July 14, 2016
- Kendo Grid Custom Column Sort - June 28, 2016
- Creating and Injecting Services – An Introduction to Angular 2 - June 17, 2016
- A Simple Natural Sort - June 16, 2016
- Writing Your First Component – An Introduction to Angular 2 - June 15, 2016