In addition to setInterval for polling data, you can either do it the classic way and use
long-polling AJAX calls,
or you go for a different idea, which I personally prefer: Have the server push data over
WebSockets.
setInterval will limit you to specific points in time. If you are (or rather your customer is) OK with it, you can go with it. The important part is to get the job done in the best way possible and I do not see why setInterval might be a bad choice in certain cases.