August 2012
Beginner
583 pages
16h 1m
English
As with submitting any form data, you have the option of submitting
your data in the form of GET requests,
and you will save a few lines of code if you do so. However, there is a
downside: some browsers may cache GET
requests, whereas POST requests will
never be cached. You don’t want to cache requests, because the browser
will just redisplay what it got last time instead of going to the server
for fresh input. The solution to this is to use a workaround that adds a
random parameter to each request, ensuring that each URL requested is
unique.
Example 17-4 shows how you would achieve the same
result as with Example 17-2, but using an Ajax GET request instead of POST.
<html><head><title>Ajax GET Example</title>
</head><body><center />
<h1>Loading a web page into a DIV</h1>
<div id='info'>This sentence will be replaced</div>
<script>
nocache = "&nocache=" + Math.random() * 1000000
request = new ajaxRequest()
request.open("GET", "urlget.php?url=oreilly.com" + nocache, true)
request.onreadystatechange = function()
{
if (this.readyState == 4)
{
if (this.status == 200)
{
if (this.responseText != null)
{
document.getElementById('info').innerHTML = this.responseText
}
else alert("Ajax error: No data received")
}
else alert( "Ajax error: " + this.statusText)
}
}
request.send(null) function ajaxRequest() { try { var request = new XMLHttpRequest() } catch(e1) { try { request = new ActiveXObject("Msxml2.XMLHTTP") } catch(e2) { try { request = ...Read now
Unlock full access