XMLHttpRequest-module niet gedefinieerd/gevonden

Dit is mijn 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();

Ik krijg de foutmelding:

Cannot find module 'xmlhttprequest'

Als ik de eerste regel verwijder, krijg ik:

XMLHttpRequest is not defined

Ik heb overal gezocht en mensen hebben hier en daar een probleem met Node.js genoemd, maar mijn installatie van Node was correct, dus ik weet niet zeker wat het probleem is.


Antwoord 1, autoriteit 100%

XMLHttpRequest is een ingebouwd object in webbrowsers.

Het wordt niet gedistribueerd met Node; je moet het afzonderlijk installeren,

  1. Installeer het met npm,

    npm install xmlhttprequest
    
  2. Je kunt het nu requirein je code.

    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
    var xhr = new XMLHttpRequest();
    

Dat gezegd hebbende, de http-moduleis de ingebouwde tool voor het maken van HTTP-verzoeken van Node .

Axiosis een bibliotheek voor het maken van HTTP-verzoeken die beschikbaar is voor Node en browsers die zeer populair tegenwoordig.


Antwoord 2, autoriteit 13%

Sinds de laatste update van de xmlhttprequest-modulerond 2 jaar geleden, in sommige gevallen werkt het niet zoals verwacht.

Dus in plaats daarvan kun je de xhr2-modulegebruiken. Met andere woorden:

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();

wordt:

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

Maar … natuurlijk zijn er meer populaire modules zoals Axios, omdat -for voorbeeld- gebruikt beloften:

// 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);
});

Antwoord 3, autoriteit 2%

Met de xhr2-bibliotheekkunt u XMLHttpRequestglobaal overschrijven van uw JS-code. Hierdoor kunt u externe bibliotheken in nodes gebruiken die bedoeld waren om vanuit browsers te worden uitgevoerd / ervan uitgaan dat ze in een browser worden uitgevoerd.

global.XMLHttpRequest = require('xhr2');

Antwoord 4

Ga gewoon naar de terminal install xmlhttprequest door de code te volgen
Installeer het met npm,

1.npm xmlhttprequest installeren

2.Je kunt het nu in je code eisen.

var XMLHttpRequest = required(“xmlhttprequest”).XMLHttpRequest;
var xhr = nieuwe XMLHttpRequest();

Other episodes