Un ejemplo sencillo sería este. No tiene consultas a la base de datos, pero da una idea de cómo usar un calback que haga una cosa u otra en función a la respuesta del servidor:
Código PHP:
<?php
if(isset($_POST['uno'])){
if($_POST['uno']=='existe'){
echo 'existe';
}else{
echo 'no existe';
}
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ejemplo</title>
<script>
function http(){
if(typeof window.XMLHttpRequest!='undefined'){
return new XMLHttpRequest();
}else{
try{
return new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
alert('Su navegador no soporta AJAX');
return false;
}
}
}
function request(url,callback,params){
var H=new http();
if(!H)return;
H.open('post',url+'?'+Math.random(),true);
H.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
H.onreadystatechange=function(){
if(H.readyState==4){
if(callback)
callback(H.responseText);
H.onreadystatechange=function(){}
H.abort();
H=null;
}
}
var p='';
for(var i in params){
p+='&'+i+'='+escape(params[i]);
}
H.send(p);
}
function verificar(r){
if(r=='existe'){
alert('existe');
}else{
window.location='otroLado.htm';
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<input type="button" name="Submit" value="probar existe" onclick="request('',verificar,{'uno':'existe'})" />
<input type="button" name="Submit2" value="probar no existe" onclick="request('',verificar,{'uno':'no existe'})" />
</form>
</body>
</html>