这是我的代码:

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "//URL")
xhr.setRequestHeader("Content-Type: application/json", "Authorization: Basic //AuthKey");
xhr.send();

我得到了一个错误:

Cannot find module 'xmlhttprequest'

当我删除第一行时,我得到:

XMLHttpRequest is not defined

我搜索了所有地方,人们提到了Node的一个问题.js,但我的节pip安装是正确的,所以我不确定问题出在哪里.

推荐答案

XMLHttpRequest是web browsers中的内置对象.

它不随 node 一起分发.The http module是用于从 node 发出HTTP请求的内置工具.

大多数从node发出HTTP请求的人使用第三方库和更友好的API.两种流行的 Select 是Axios(用于Node.js和浏览器)和node-fetch(用于实现内置在浏览器中的fetch API,是XMLhttpRequest的现代替代品).

如果您真的想在 node 中使用XHR.js然后有几个第三方实现.xmlhttprequest(似乎没有维护)和xhr2(今年有更新).

  1. 用npm安装它,

     npm install xhr2
    
  2. 现在你可以在你的代码中输入require个.

     var XMLHttpRequest = require('xhr2');
     var xhr = new XMLHttpRequest();
    

Node.js相关问答推荐

购物车是空的状态|本地存储不更新产品数量|Redux|

如何在医学中按patientId查找一个并同时插入多个数据

在对象的嵌套数组中使用$lookup,创建多个记录作为响应,mongodb

通过PutObjectCommand上传AWS S3 PDF文件,结果为空PDF

使用AWS SDK for JavaScript V3将图像从node.js上传到s3 bucket

Rails 7导入npm yaml包时出现404错误

Promise 和 Azure 语音转文本

密码加密的最佳实践是什么?

与诗乃一起嘲笑奈克斯

发布请求不使用 Nodejs 更新 MongoDB 中的标头信息

在 MacOS Ventura 上使用 NVM 安装 node ?

如何使用 Remix 仅在客户端呈现组件?

如何在带有 JS 的 Nodejs 中使用没有 Async 方法的 Await

express cors request.body formData显示undefined

将代码转换为 ES6 Discord.js 的问题

部署云功能 Firebase/Stripe 时出错

使用 nvm-windows 时更新 npm

未在 Windows 8.1 上构建的 node 包 - 缺少 Microsoft.Cpp.Default.props

react-native run-android 无法识别

如何阻止 babel 将this转换为undefined(并插入use strict)