{ajax 'name'} does not render the page itself. It writes an empty
<div> and a small script; once the page is in the browser, the script
requests the named page with &padInclude - bare, without its wrappers - and
puts the answer in the div. The page around it is sent at once, and a slow part arrives when
it is ready. When the request fails, the div shows the status text.
The div's id is padAjax followed by a hash of the page and its query, so the
markup is the same on every request. Variables assigned on the tag -
{ajax 'orders', $status = 'open'} - go on the query string, and
fragment='name' asks for one {fragment} of the page
alone: the page renders whole on the server, but only that part is sent back.
With app='other' the page belongs to another application. Under the strict
check the page must exist, in this application or the one named - a typo is reported when
the template renders, not later as a 404 in the visitor's browser.
Compare {page}, which renders the page on the server in the same request, and {get}, which fetches it on the server as a second request. For a part that re-renders on clicks and forms, see {live}.