在新的ActiveXObject上使用JavaScript崩溃的经典ASP页面
问题描述:
我有一个asp经典页面,但是在javascript上设置了语言。这样在新的ActiveXObject上使用JavaScript崩溃的经典ASP页面
<%@ Language=JavaScript %>
,如果我尝试创建一个像一个HTTP请求这
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.4.0");
或
var xmlhttp = new XMLHttpRequest();
的页面只是说像一个内部服务器错误一般性错误崩溃发生。有谁知道我可以如何调查和解决这个问题?
谢谢
答
该代码并不意味着要在服务器上执行。它意味着执行客户端。服务器没有安装XHR组件。
答
首先,您需要在IIS中启用详细的错误页面以摆脱通用错误页面。
我敢打赌这是一个ActiveX component can't create object
错误,但请参阅How To Configure IIS7 To Show ASP Errors?这是一个带截图的肝指南。
Microsoft不再支持MSXML 4.0。
建议使用MSXML 6.0
。它与4.0
兼容,所以用6.0
代替4.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";
}
}
这部分'var xmlhttp = new ActiveXObject(“MSXML2.ServerXMLHTTP.4.0”);'实际上适用于旧服务器,但它不适用于新服务器。 – omega
@omega因为新服务器没有安装该ActiveX控件。 –
我该如何安装它? – omega