Clarification of a some code
Posted
by Legend
on Stack Overflow
See other posts from Stack Overflow
or by Legend
Published on 2010-05-20T18:20:35Z
Indexed on
2010/05/20
18:40 UTC
Read the original article
Hit count: 158
JavaScript
|beginner
I have come across a website that appears to use Ajax but does not include any js file except one file called ajax.js which has the following:
function run(c, f, b, a, d) {
var e = null;
if (b && f) {
document.getElementById(b).innerHTML = f
}
if (window.XMLHttpRequest) {
e = new XMLHttpRequest()
} else {
if (window.ActiveXObject) {
e = new ActiveXObject(Microsoft.XMLHTTP)
}
}
e.onreadystatechange = function () {
if (e.readyState == 4) {
if (e.status == 200 || e.statusText == "OK") {
if (b) {
document.getElementById(b).innerHTML = e.responseText
}
if (a) {
setTimeout(a, 0)
}
} else {
console.log("AJAX Error: " + e.status + " | " + e.statusText);
if (b && d != 1) {
document.getElementById(b).innerHTML = "AJAX Error. Please try refreshing."
}
}
}
};
e.open("GET", c, true);
e.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
e.send(null)
}
Like you might have guessed, the way it issues queries inside the page with queries like this:
run('page.php',loadingText,'ajax-test', 'LoadSamples()');
I must admit that this is the first time I've seen a page from which I could not figure how things are being done. I have a few questions:
- Is this Server-Side Ajax or something similar? If not, can someone clarify what exactly is this?
- Why does one use this? Is it for hiding the design details? (which are otherwise revealed in plain text by javascript)
- How difficult would it be to convert my existing application into this design pattern? (maybe a subjective question but any short suggestion will do)
Any suggestions?
© Stack Overflow or respective owner