{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}.