<?php namespace ProcessWire;
if($config->ajax) {
bd('AJAX request detected');
echo "Replaced page content";
exit();
}
?>
<script>
function loadlist(segment='') {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("main").innerHTML = this.responseText;
}
};
xhttp.open("GET", "<?=$page->url?>"+segment, true);
xhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhttp.send();
}
</script>
<div id="content">
<div id="main">Basic page content</div>
<p><button onclick="loadlist('')">Load List</button></p>
</div>
Note the replacement of the text in "main" and that Tracy detects the AJAX request.