Building JavaScript views works great in the MVC template, as your view does not mix with your business logic or model.
However, there are several drawbacks to using full javascript views. This basically eliminates the possibility of elegant degradation if the client has javascript disabled. In addition, some browsers (IE) do not have a very fast JavaScript engine, which will make your page slower. It is true that part of the view is shared between the client and server, but it makes sense when you think about it.
In most cases, the HTML that you send to clients is the same for everyone (unless you discover a browser on the server side). However, JavaScript routines are different. If you use the jQuery library, this will be hidden from you, but the code that runs on each client can vary greatly. One example of this would be XMLHttpRequest, which is used by the firefox / webkit browser and the active x control, which is used by IE. Since the html part of the content has the same meaning for everyone, it makes sense to build on the server, and since the JavaScript viewing part may be different, it makes sense that it is built on the client side.
NTN
source share