Live data from database to shown on webpage without ajax

November 13, 2015 1.2k views


I'm trying to add some live data to my webpage, I know about ajax, but I do not like that it calls every time to receive the data.

I'm looking for a solution similar to the one DO used on the homepage with how many dropblets that had been spinned up. the counter kept raising after page load

How did they make that?, I don't remember seeing my browser calling anything all the time.

I prefer a solution working with PHP.

1 comment
1 Answer


IIRC, DigitalOcean uses Ember in quite a few areas which requires NodeJS and implements jQuery which uses Javascript, all of which are capable of using AJAX to process background requests for data.

A NodeJS app, for example, could read from a JSON file on startup. That same JSON file could be updated by another portion of the app which then updates the counter. Since NodeJS is the web server, updates to such would not require a page refresh nor spawn a noticeable background processes. In the case of this example app, the "background" process would be handled by another part of the app.

Without Javascript, jQuery, AJAX or NodeJS, PHP alone would not be able to update asynchronously as it simply doesn't provide a way to do so natively. You could opt to use React (link), which is a PHP library, though then you'd be diving in to socket connections via PHP (an example of such is actually on the homepage).

  • Thanks, it makes sense.

    However. I still don't understand how they could do it @ that speed, did they just have an json in the background where some other job updated the number? how did they do that in real time?

    I can easily update a counter with PHP, but not nearly in real time, and would create lots of overhead.

    • @g33k1e.l33t

      The way Ember "functions" (even on a very simple application), if Ember is what is being used on the frontend, is actually pretty amazing :-). Route transitions are seamless, or at the very least, they appear to be. What would normally be a page load (if you clicked on a standard link), was made to appear as if everything was pre-loaded the first time the first request was made (the only exception was larger data calls, which were loaded async at near-instant speed).

      Ember is still something I'm actually learning and due to the rapid development of the framework, it's by trial and error (by reading the docs), though given the way it works from a very very basic application standpoint, I'd say it's entirely possible. If not with Ember alone, then with NodeJS + another application.

      I used to be opposed to NodeJS as, let's face it, Javascript can be a little bloated and from misuse of jQuery in many instances (in standard applications), it's a reasonable opposition to have. I've seen many websites bogged down from horrible coding practices and what I would simply refer to as "slop."

      Over time, however, the more I look at what's available and what can be done, the more I see more and more utility for NodeJS, whether it's standalone or in combination with PHP.

Have another answer? Share your knowledge.