in reply to Are there any issues with JSON
For all applications such as this one, the JavaScript program is the primary “application,” being made up of components that are delivered by the server. The (Perl) server is simply the handler of remote procedure-calls (RPC), which occur over an HTTP transport using either XML or JSON as the encoding scheme.
In some more-sophisticated schemes, the client requests JavaScript code from the server, and incorporates that code into itself. Or, it requests HTTP pages which it cabbages for its DOM data-structures. The server might be called-upon to prepare these things, say, using templates. It can become quite complex, such that it always should be your goal (and, good luck with that ...) to discover “TAASWTDI = There’s Always A Simpler Way To Do It.™”