PHP and javascript snippets you can copy and paste.

Saturday, April 14, 2007

js_ajax.js

// Credit: http://www-128.ibm.com/developerworks/xml/library/x-ajaxxml3/index.html?ca=dnw-812
function ajx_process_reqChange() {

if (req.readyState == 4){
if(req.status!=200){
if(typeof(onfailure)=='function'){
onfailure();
}
}
else{
if(typeof(onsuccess)=='function'){
onsuccess();
}
}
}

}

function js_ajax_load_url( url, successCallback, failureCallback){

if(window.XMLHttpRequest) {
try {

req = new XMLHttpRequest();
}
catch(e) {
req = false;
}
}
else if(window.ActiveXObject) {
try {
req = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(e) {
try {
req = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(e) {
req = false;
}

}
}
if(req) {
onfailure = failureCallback;
onsuccess = successCallback;
req.onreadystatechange = ajx_process_reqChange;
req.open('GET', url, true);
req.send('');
}

}

var req = null;
var onfailure = null;
var onsuccess = null
req = null;

//-------------------------------------------------------------------------
// Example:

[html]
[head]
[script language="Javascript" src="js_ajax.js"][/script]

[script language="Javascript"]

function onsuccessCallback(){
alert(req.responseText);
}

function onfailureCallback(){
alert('failed');
}

window.onload = registerEvents;

function registerEvents(e){
js_ajax_load_url('test.php', onsuccessCallback, onfailureCallback)
}

[/script]
[/head]
[body]
[/body]
[/html]

1 comment:

admin said...

Tested 14 April 2007.