Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2010, 14:12
danteq
 
Fecha de Ingreso: septiembre-2008
Mensajes: 23
Antigüedad: 16 años, 3 meses
Puntos: 0
ayuda con con funciones ajax

hola a todos tenog un problema con el ajax que tengo y es el siguiente. Por alguna razon no puedo ejecutar las funciones de cargar y de error, me explico el posee unas funciones para cuando se esta realizando la peticion y para cuando le peticion falla pero por mas que trato no logro que me funcionen. Dejo mi codigo para que sea tenido en cuenta si alquien me quiere ayudar.

Código Javascript:
Ver original
  1. Request = function(){
  2.     var Request = window.XMLHttpRequest?new XMLHttpRequest():window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):false;
  3.    
  4.     Request.fn = function(fn){
  5.         if(typeof fn=='string')return new Function(fn);
  6.         if(typeof fn=='function')return fn;
  7.         if(typeof fn=='undefined')return new Function();
  8.     };
  9.  
  10.     Request.config = {
  11.         'xml' : false,
  12.         '404' : 'File not found'
  13.     };
  14.  
  15.     Request.success = false;
  16.     Request.loading = false;
  17.     Request.error = false;
  18.  
  19.     Request.submit = function(obj){
  20.         if(Request){
  21.             Request.open("POST", obj.url, true);
  22.             Request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8;'); //esto es para el error 406 de los servidores
  23.             Request.send(null);
  24.             Request.onreadystatechange = function(){
  25.                 if(Request.readyState==4){
  26.                     if((Request.status==200)||(Request.status==0)){
  27.                         Response = Request.config['xml']?Request.responseXml:Request.responseText;
  28.                         if(Request.success){
  29.                             Request.fn(Request.success).call(this, Response, Request);
  30.                         } else {
  31.                             Request.fn(obj.success).call(this, Response, Request);
  32.                         }
  33.                     } else {
  34.                         if(Request.success){
  35.                             Request.fn(Request.loading).call(this, Request);
  36.                         } else {
  37.                             Request.fn(obj.loading).call(this, Request);
  38.                         }
  39.                     }
  40.                 } else {
  41.                     if(Request.success){
  42.                         Request.fn(Request.error).call(this, Request.config['404']);
  43.                     } else {
  44.                         Request.fn(obj.error).call(this, Request.config['404']);
  45.                     }
  46.                 };
  47.             }
  48.  
  49.         } else obj.error.call(this, Request);
  50.     };
  51.     return Request;
  52. };

y lo utilizo de la siguiente forma

Código Javascript:
Ver original
  1. var req = new Request;
  2. req.submit({
  3.   url : 'plik.xml',
  4.   xml : false,
  5.   success : function(res, req){
  6.      document.getElementById('p2').innerHTML = res;
  7.   },
  8.   loading : function(){ console.log('loading...'); },
  9.   error : function(err){ console.log(err); }
  10. });

EL problema es que no logro que las funciones de loading y de error hagan algo es decir no me ejecutan nada ni alert ni nada por el estilo

Muchas gracias por su tiempo y espero que me puedan ayudar