問題描述
這是我的代碼:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://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 模塊未定義/未找到的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!