2017-07-07 19 views
0

私はaspクラシックページを持っていますが、言語はjavascriptで設定されています。私はこの新しいActiveXObjectでJavaScriptクラッシュを使用する従来のASPページ

var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.4.0"); 

または

var xmlhttp = new XMLHttpRequest(); 

のようなhttpリクエストにページを作成しようとした場合、この

<%@ Language=JavaScript %>

のように、単に内部サーバーエラーのように言って一般的なエラーでクラッシュ発生した。誰も私が調査し、これを修正する方法を知っていますか?

ありがとうございました

答えて

1

このコードはサーバーで実行するものではありません。それはクライアント側を実行するためのものです。サーバーには、XHRコンポーネントがインストールされていません。

+0

この部分は 'VARのXMLHTTP =新しいActiveXObjectを(「MSXML2.ServerXMLHTTP.4.0」);'実際に古いサーバ上で動作しますが、それは、新しいサーバー上で動作していないです。 – omega

+0

@omega新しいサーバーには、そのActiveXコントロールがインストールされていないためです。 –

+0

どうすればインストールできますか? – omega

1

まず、一般的なエラーページを取り除くために、IISで詳細なエラーページを有効にする必要があります。

私はそれがActiveX component can't create objectエラーだったと思いますが、How To Configure IIS7 To Show ASP Errors?と表示されていますが、それはスクリーンショット付きのひどいガイドです。

MSXML 4.0はMicrosoftからサポートを受けていません。

代わりにMSXML 6.0を使用することをお勧めします。 4.0と互換性があるので、4.06.0に置き換えるだけで十分です。

詳細については、MSXML Roadmapを参照してください。

したがって、var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");を使用するか、あまりにも好きな場合は、下位互換性のために以下のようにオブジェクトをインスタンス化してください。

var xmlhttp; 
try { 
    xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.4.0"); 
} 
catch(e) { 
    try 
    { 
     xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0"); 
    } 
    catch(e) 
    { 
     throw "object can't created"; 
    } 
} 
関連する問題