This may be something like a page that misses title, script and style sheets.
However, when the same URL is invoked via script, and the response is used to insert HTML within the existing DOM, then the net effect for the end user may be much better and nicer.
The most important point to remember is that an endpoint that returns a partial HTML view should only be called via script.
In between SPAs and classic full page refresh solutions, there are techniques based on plain j Query calls to HTTP endpoints returning JSON data.
Technically speaking, a j Query solution is not that much different from anything you can do in a SPA; However, it is a technique that you can use just where required and appropriate but not necessarily throughout the entire solution.
You can use j Query to make a GET request and receive JSON data.
Such data is then incorporated in the current DOM via HTML templates and libraries such as Knockout or Angular JS.