XMLHttpRequest modulo non definita/trovato

Questo è il mio codice:

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "//URL")
xhr.setRequestHeader("Content-Type: application/json", "Authorization: Basic //AuthKey");
xhr.send();

Ricevo l’errore:

Cannot find module 'xmlhttprequest'

Quando tolgo la prima linea, io sono sempre:

XMLHttpRequest is not defined

Ho cercato in tutto e le persone che hanno parlato di un problema con Node.js qui e là, ma la mia installazione di Nodo è stato corretto, quindi non sono sicuro di cosa si tratta.

  • Utilizzare http invece
InformationsquelleAutor wmash | 2015-09-16

 

2 Replies
  1. 84

    XMLHttpRequest è un oggetto incorporato nel browser web.

    Non è distribuito con il Nodo; si installare separatamente,

    1. Installarlo con npm,

      npm install xmlhttprequest
    2. Ora è possibile require nel codice.

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

    Che ha detto, il modulo http è il built-in strumento per la creazione di richieste HTTP da Nodo.

    Axios è una libreria per la creazione di richieste HTTP che è disponibile per il Nodo e i browser che è molto popolare in questi giorni.

    • ‘xmlhttprequest’ non ha funzionato per me. Ho dovuto usare ‘xhr2’ dal post di seguito per rendere il mio script funziona. Lo Script è compatibile con la versione più recente di Google Chrome – carichi risposta ArrayBuffer: “xhr.responseType = ‘arraybuffer’; “
  2. 9

    Dopo l’ultimo aggiornamento del xmlhttprequest modulo è stato di circa 2 anni fa, in alcuni casi non funziona come previsto.

    Così, invece, è possibile utilizzare il xhr2 modulo. In altre parole:

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

    diventa:

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

    Ma … naturalmente, ci sono sempre più popolari moduli come Axios, perché -per esempio – utilizza le promesse:

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

Lascia un commento