2009-04-20 14 views
5

と私は入れません、次のエラーの:ajaxの問題? activexobjects

キャッチされない例外:[例外は... "Componentが返されるエラーコード:0x80004005が(NS_ERROR_FAILURE)[nsIXMLHttpRequest.send]" nsresult: "0x80004005の(NS_ERROR_FAILURE)" の場所: "JSフレーム:: http://site/cms/js/interface.js :: doAjaxCall ::ライン300" のデータ:なし]

 

キャッチされない例外:[例外...「コンポーネントは失敗を返さコード:0x80004005の(NS_ERROR_FAILURE)nsIXMLHttpRequest.send」nsresult: "0x80004005の(NS_ERROR_FAILURE)" 位置: "JSフレーム:: http://site/cms/js/interface.js :: doAjaxCall ::ライン300" データ:NO]

ライン0

これは、任意のアイデアの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; 
} 

を持つ関数でありますか?

+0

これはあなたのドメインの外に行くされていますか?相対URLまたは絶対URLを使用していますか? –

答えて

1

Javascriptのセキュリティ制限のため、XMLHttpRequestを使用してリモートドメインから情報を取得することはできません。 私はプロキシが必要だと思います!

+0

こちらもご覧ください:https://developer.mozilla.org/En/HTTP_Access_Control – piero

+0

コードは相対URIを使用します。リモートドメインはどこに来るのですか? – Quentin

+0

どのようにして他のドメインのコンテンツを制御できるかは、セキュリティヘッダー 'Access-Control-Allow-Origin:*' * =ワイルドカードを使用してサイトからAJAX呼び出しを許可することができ、コンマリストドメインのEG '* .facebook.com、facebook.com' –

0

それが原因MIMEタイプにある:アプリケーション/ x-www-form-urlencodedでそれは一部のブラウザで動作します

。これは、のGeckoベースのブラウザ(例:Firefox)で動作しません

がで詳細を参照してください:http://ajaxpatterns.org/Talk:XMLHttpRequest_Call