Download XHConn here.
XMLHTTP is a technology with which a developer can access external resources over HTTP from a static web page without ever having to reload the page itself. This library is meant to simplify and unify the code necessary to successfully send and receive simple data via XMLHTTP.
Do to the browser caching ajax pages called, I added a random number to the xmlhttp.open call. This forces a “unique” page call to prevent caching and not displaying updated data. Changes are highlighted.
/** XHConn – Simple XMLHTTP Interface – bfults@gmail.com – 2005-04-08 **
** Code licensed under Creative Commons Attribution-ShareAlike License **
** http://creativecommons.org/licenses/by-sa/2.0/ **/
function XHConn()
{
var xmlhttp, bComplete = false;
var rndXHConnNumber = Math.round(100000*Math.random());
try { xmlhttp = new ActiveXObject(”Msxml2.XMLHTTP”); }
catch (e) { try { xmlhttp = new ActiveXObject(”Microsoft.XMLHTTP”); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}
if (!xmlhttp) return null;
this.connect = function(sURL, sMethod, sVars, fnDone)
{
if (!xmlhttp) return false;
bComplete = false;
sMethod = sMethod.toUpperCase();try {
if (sMethod == “GET”)
{
xmlhttp.open(sMethod, sURL+”?”+sVars+”&rndXHConnNumber=”+rndXHConnNumber, true);
sVars = “”;
}
else
{
xmlhttp.open(sMethod, sURL, true);
xmlhttp.setRequestHeader(”Method”, “POST “+sURL+”&rndXHConnNumber=”+rndXHConnNumber+” HTTP/1.1″);
xmlhttp.setRequestHeader(”Content-Type”, “application/x-www-form-urlencoded”);
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && !bComplete)
{
bComplete = true;
fnDone(xmlhttp);
}};
xmlhttp.send(sVars);
}
catch(z) { return false; }
return true;
};
return this;
}
ADDED:
Another good XMLHttpRequest article
2 comments ↓
[...] to the browser caching ajax pages called, I added a random number to the XHConn xmlhttp.open call. This forces a “unique” page call to prevent caching and not displaying updated data. [...]
Thanks, I was looking for a reason why data wouldn’t change. I thought is was acting like a chached page but didn’t know for sure.
Leave a Comment