Non Session Ajax update
From the ControlCenter you can get access via
Policy.tb-core-extensions.show.dashboard.DashboardAjaxUI.
This is a new set of commands for having Ajax UpdateContainers in Non Session calls.

Sample 1
a simple ajax call from a non session page to an direct action.
<tb:updateContainer id="tbSample">
<span class="text-muted">Nothing loaded yet — click below.</span>
</tb:updateContainer>
<tb:updateLink actionClass="TBAjaxDirectAction" directActionName="sample"
updateContainer="tbSample">
Load a live server fragment
</tb:updateLink> @TBAction
public ITBWActionResults sample() {
final var html = "<span class=\"tb-check ok\">Live from the server at "
+ TBFZonedDateTime.now() + " — no page reload.</span>";
return dataResponseWithExpiredDate(html);
}Sample 2
a simple ajax call from a non session page to an direct action from a Selector Tag.
<tb:updateContainer id="tbSelectStatus">
<span class="text-muted">Pick an edition…</span>
</tb:updateContainer>
<tb:updateSelect name="edition" list="$editions" item="$edition"
actionClass="TBAjaxDirectAction" directActionName="sample"
updateContainer="tbSelectStatus" />Sample 3
an updateLink with a confirm message.
<tb:updateContainer id="tbDelete">
<span class="text-muted">Reply appears here…</span>
</tb:updateContainer>
<tb:form>
<tb:updateLink actionClass="TBAjaxDirectAction" directActionName="delete" method="post"
updateContainer="tbDelete" confirm="Delete this permanently?" ?id="$deleteIdTest">
Delete
</tb:updateLink>
</tb:form>Sample 4
an updateField Sample
<tb:updateContainer id="tbEcho">
<span class="text-muted">POST reply appears here…</span>
</tb:updateContainer>
<tb:form>
<tb:updateField name="message" placeholder="type & POST…"
actionClass="TBAjaxDirectAction" directActionName="echo" method="post"
updateContainer="tbEcho" />
</tb:form>@TBAction
public ITBWActionResults echo() {
final var message = request().stringFormValueForKey("message");
log.info("Sample: Echoing {}, formValueKeys {}", message, request().formValueKeys());
final var safe = message == null
? ""
: message.replace("&", "&").replace("<", "<").replace(">", ">");
final var html = "<span class=\"tb-check ok\">POST received at "
+ TBFZonedDateTime.now() + " — you said: <b>" + safe + "</b></span>";
return dataResponseWithExpiredDate(html);
}Sample 5
Network Error Processing
<tb:updateContainer id="tbErrorDemo"><span class="text-muted">Error demo output…</span></tb:updateContainer>
<tb:updateLink actionClass="TBAjaxDirectAction" directActionName="doesNotExist"
updateContainer="tbErrorDemo" class="btn btn-secondary" style="margin-top:12px">
Trigger a failing call
</tb:updateLink>#ajax