问题描述
这是我的代码:
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'
当我删除第一行时,我得到:
When I remove the first line, I am getting:
XMLHttpRequest is not defined
我到处搜索,人们到处都提到了 Node.js 的问题,但我的 Node 安装是正确的,所以我不确定问题是什么.
I have searched all over and people have mentioned a problem with Node.js here and there but my installation of Node was correct so I'm not sure what the issue is.
推荐答案
XMLHttpRequest 是网络浏览器中的内置对象.
XMLHttpRequest is a built-in object in web browsers.
它不与 Node.js 一起分发.http 模块 是从 Node 发出 HTTP 请求的内置工具.
It is not distributed with Node. The http module is the built-in tool for making HTTP requests from Node.
大多数从节点发出 HTTP 请求的人都使用具有更友好 API 的第三方库.两个流行的选择是 Axios(用于 Node.js 和浏览器)和 node-fetch
(它实现了浏览器内置的 fetch API,是XMLhttpRequest 的现代替代品.
Most people making HTTP requests from node use a third party library with a friendlier API. Two popular choices are Axios (for use both in Node.js and browsers) and node-fetch
(which implements the fetch API which is built into browsers and is a modern replacement for XMLhttpRequest.
如果你真的想在 Node.js 中使用 XHR,那么有几个第三方实现.xmlhttprequest
(似乎没有维护)和 xhr2
(今年有更新).
If you really want to use XHR in Node.js then there are a couple of third party implementations. xmlhttprequest
(which seems to be unmaintained) and xhr2
(which has had an update this year).
用 npm 安装,
Install it with npm,
npm install xhr2
现在你可以在你的代码中require
它.
var XMLHttpRequest = require('xhr2');
var xhr = new XMLHttpRequest();
这篇关于XMLHttpRequest 模块未定义/未找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!