2009-04-20 15 views
5

sigo recibiendo del siguiente error:ajax problemas? con activexobjects

excepción no detectada: [Excepción ... "volvió Componente código de error: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" ubicación : "marco JS :: http://site/cms/js/interface.js :: :: doAjaxCall línea 300" de datos: no]

 

excepción no detectada: [excepción ... "Componente devolvió un error código: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" Lugar: "marco JS :: http://site/cms/js/interface.js :: :: doAjaxCall línea 300" de datos: no]

Línea 0

Esta es la función con el doAjaxCall

function doAjaxCall(cmd,params) { 
    var postdata='cmd='+cmd+'&params='+params; 

    var a=sajax_init_object(); 
    if (a) { 
    a.open("POST","ajax_handler.php", false); 
    a.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    a.send(postdata);      <====Line 300 
     document.body.style.cursor="default"; 

    if(a.readyState == 4) { 
     return a.responseText; 
    } else { 
     alert("We where unable to execute the ajax call."); 
    } 
    } 

function sajax_init_object() { 
    var A; 
    try { 
     A=new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try { 
      A=new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (oc) { 
      A=null; 
     } 
    } 
    if(!A && typeof XMLHttpRequest != "undefined") 
     A=new XMLHttpRequest(); 
    if (!A) 
     alert("Could not create connection object."); 
    return A; 
} 

Cualquier idea?

+0

es esto va fuera de su dominio? ¿Estás usando una URL relativa o absoluta? –

Respuesta

1

Debido a restricciones de seguridad en Javascript, no es posible recuperar información de dominios remotos a través de XMLHttpRequest. ¡Creo que necesitas un proxy!

+0

Eche un vistazo aquí también: https://developer.mozilla.org/En/HTTP_Access_Control – piero

+0

El código usa un URI relativo. ¿Dónde entra el dominio remoto en esto? – Quentin

+0

como sea, si tiene control del contenido en el otro dominio, puede permitir que una llamada AJAX desde su sitio use los encabezados de seguridad 'Access-Control-Allow-Origin: *' * = comodín y puede proporcionar una lista de coma de dominios EG '* .facebook.com, facebook.com' –