typescript – 类型Window上不存在XMLHttpRequest

我正在为我的项目开发一个小型异步库.我决定用TypeScript编写它,但我的编译器给我一个错误,’ XMLHttpRequest’在类型’Window’上不存在,正如标题所说.

如果窗口没有XMLHttprequest,我想要实现的是ActiveXObject的创建.

if (window.XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
 } else {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

我不一定要把它包括在内,但我想知道为什么会这样?

我正在使用的IDE是VS Code(它也向我显示错误),我正在使用gulp-tsify进行编译

解决方法

试试这个:

if ((<any>window).XMLHttpRequest) {
    xmlhttp = new XMLHttpRequest();
} else {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

问题是,Typescript的每个对象都有一个类型,它定义了该类型的属性,有时会从这些定义中删除缺少的属性(或稍后动态添加属性),如果你将它强制转换为任何类型,那么它将处理它是一种匿名类型.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...