Das ist mein Code:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "//URL")
xhr.setRequestHeader("Content-Type: application/json", "Authorization: Basic //AuthKey");
xhr.send();
Ich erhalte den Fehler:
Cannot find module 'xmlhttprequest'
Wenn ich die erste Zeile entferne, erhalte ich:
XMLHttpRequest is not defined
Ich habe überall gesucht und die Leute haben hier und da ein Problem mit Node.js erwähnt, aber meine Installation von Node war korrekt, daher bin ich mir nicht sicher, wo das Problem liegt.
Da das letzte Update des xmlhttprequest-Moduls vor ungefähr 2 Jahren erfolgte , funktioniert es in einigen Fällen nicht wie erwartet.
Sie können stattdessen das xhr2-Modul verwenden . Mit anderen Worten:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; var xhr = new XMLHttpRequest();
wird:
var XMLHttpRequest = require('xhr2'); var xhr = new XMLHttpRequest();
Aber ... natürlich gibt es populärere Module wie Axios , weil zum Beispiel Versprechen verwendet werden:
// Make a request for a user with a given ID axios.get('/user?ID=12345').then(function (response) { console.log(response); }).catch(function (error) { console.log(error); });
quelle
Mit der xhr2-Bibliothek können Sie
XMLHttpRequest
Ihren JS-Code global überschreiben . Auf diese Weise können Sie externe Bibliotheken in Knoten verwenden, die von Browsern ausgeführt werden sollten / vorausgesetzt, sie werden in einem Browser ausgeführt.global.XMLHttpRequest = require('xhr2');
quelle