Using GET Instead of POST
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 ...
Get Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.