2009-04-20 15 views
5

continuo a ricevere del seguente errore:problemi di ajax? con activexobjects

eccezione non rilevata: [Exception ... "ha prodotto Componente codice di errore: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" posizione : "JS telaio :: http://site/cms/js/interface.js :: :: doAjaxCall linea 300" dati: no]

 

eccezione non rilevata: [Exception ... "Componente ha restituito un errore Codice: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" Posizione: "frame JS :: http://site/cms/js/interface.js :: :: doAjaxCall linea 300" Dati: no]

Linea 0

Questa è la funzione con il 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; 
} 

Qualsiasi idea di?

+0

è questo andare al di fuori del tuo dominio? Stai usando un url relativo o assoluto? –

risposta

1

A causa delle restrizioni di sicurezza in Javascript, non è possibile recuperare le informazioni dai domini remoti tramite XMLHttpRequest. Penso che tu abbia bisogno di un proxy!

+0

Dai un'occhiata anche qui: https://developer.mozilla.org/En/HTTP_Access_Control – piero

+0

Il codice utilizza un URI relativo. Da dove viene il dominio remoto? – Quentin

+0

come mai se hai il controllo del contenuto sull'altro dominio puoi consentire ad una chiamata AJAX dal tuo sito usando le intestazioni di sicurezza 'Access-Control-Allow-Origin: *' * = carattere jolly e puoi fornire un elenco di virgole di domini EG '* .facebook.com, facebook.com' –