这是我的代码:
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 的问题,但我的 Node 安装是正确的,所以我不确定问题是什么。
原文由 wmash 发布,翻译遵循 CC BY-SA 4.0 许可协议
XMLHttpRequest 是 网络浏览器 中的内置对象。
它不随 Node.js 一起分发。 http 模块 是用于从 Node.js 发出 HTTP 请求的内置工具。
大多数从节点发出 HTTP 请求的人都使用具有更友好 API 的第三方库。两个流行的选择是 Axios (用于 Node.js 和浏览器)和
node-fetch
(它实现浏览器内置的获取 API,是 XMLHttpRequest 的现代替代品。_2022 年更新_:Node 18 有一个本地实现
fetch
默认启用。如果你真的想在 Node.js 中使用 XHR,那么有几个第三方实现。
xmlhttprequest
(似乎没有维护)和xhr2
(当我将它添加到这个答案时它有更新但似乎已经被开发人员放弃了)。require
它。