I would like to create an example for posting, which would be a self-contained HTML file, that could emulate an AJAX call locally (that is, if the file is on your local PC file system, and it opens in your browser as file:///path/to/file.htm).
I have arrived at the following example, which doesn't work. What I want to do there, is click on the "Get Data!" button, which initiates a request to the same page with a query string parameter shdat; then in JS, if the page detects the query string shdat, it should stop further loading of the page, and replace the current document as a string (the data we're "sending"), so that the "asker" gets this as the response of the AJAX call (and ultimately shows it in div dataholder).
Here is my example:
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <style type="text/css">
.my_btn { background-color:yellow; }
.dispnone { display:none }
  </style>
  <script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
  <script type="text/javascript">
var thishref = window.location.href.slice(0, window.location.href.indexOf('?')+1);
var qstr = window.location.href.slice(window.location.href.indexOf('?')+1);
console.log("qstr", qstr);
if (qstr == "shdat") {
  // interrupt normal page loading:
  window.stop();
  // replace entire page so far with our "data",
  // which will effectively "send it back" to "asker"?
  // (doesn't work)
  $(document).html("Sending some message");
}
function OnGetdata(inbtn) {
  console.log("OnGetdata");
  // http://stackoverflow.com/questions/4656843/jquery-get-querystring-from-url
  $.ajax(thishref + "?shdat", {
    success: function(data) {
      console.log("data ", data);
    },
    error: function(xhr, ajaxOptions, thrownError) {
      console.log("error " + thishref + " : " + xhr.status + " / " + thrownError);
    }
  });
}
ondocready = function() {
  $("#getdata").click(function(){
    OnGetdata(this);
  });
}
$(document).ready(ondocready);
  </script>
</head>
<body>
  <h1>Hello World!</h1>
  <p>Here is the test:</p>
  <button type="button" id="getdata" class="my_btn">Get Data!</button>
  <div id="dataholder"></div>
</body>
</html>
The thing is, the Ajax call here will complete, but the console.log("data ", data); will show an XMLDocument, which is basically the whole page as it is - instead of the data only.
Is something like this possible to do, and if so, how?
