我有一个经典ASP网站,它使用DLL创建Msxml2.DOMDocument对象,并将其返回到浏览器(从jQuery ajax调用中调用)。我在两台电脑上运行这个网站。两者都具有相同的经典ASP,并且都注册了相同版本的DLL文件。
在一个环境下,返回的XML对象具有"parseError“属性,并具有" XMl”属性,该属性包含对象中XMl的字符串表示形式。服务器返回的XML的对象类型是IXMLDOMDocument2 (在浏览器的调试工具中查看)。
但是在我的第二个环境中,返回的对象似乎是"XMLDocument“类型的,而且它没有"parseError”或"xml“属性。
在这两种环境中,HKEY_CLASSES_ROOT\CLSID{2933BF90-7B36-11D2-B20E-00C04F983E60}\VersionList都显示MSXML4 SP2安装在“程序和功能”中,但在此注册表项中只列出了版本3.0和6.0:
这两个环境都有相同的ASP代码,我已经在这两个环境中注册了相同的DLL文件,该文件生成要返回的XML。
是什么原因导致一个环境在相同的条件下返回不同的XML对象?
我不知道从哪里开始解决这个问题。
发布于 2022-05-16 18:52:56
我解决了这个问题,太傻了。该网站的问题是非常古老的,大多数的网页不工作,除非你有IE的兼容性模式启用。兼容模式是在IE中为我所期望的环境启用的(它返回一个IXMLDOMDocument2对象),但在其他环境中没有启用它。
https://stackoverflow.com/questions/72263319
复制相似问题