Ini kode saya:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();
xhr.open("GET", "//URL")
xhr.setRequestHeader("Content-Type: application/json", "Authorization: Basic //AuthKey");
xhr.send();
Saya mendapatkan kesalahan:
Cannot find module 'xmlhttprequest'
Saat saya menghapus baris pertama, saya mendapatkan:
XMLHttpRequest is not defined
Saya telah mencari di mana-mana dan orang-orang telah menyebutkan masalah dengan Node.js di sana-sini tetapi instalasi Node saya benar jadi saya tidak yakin apa masalahnya.
Karena pembaruan terakhir modul xmlhttprequest adalah sekitar 2 tahun yang lalu , dalam beberapa kasus modul ini tidak berfungsi seperti yang diharapkan.
Jadi sebagai gantinya, Anda dapat menggunakan modul xhr2 . Dengan kata lain:
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; var xhr = new XMLHttpRequest();
menjadi:
var XMLHttpRequest = require('xhr2'); var xhr = new XMLHttpRequest();
Tapi ... tentu saja, ada modul yang lebih populer seperti Axios , karena -misalnya- menggunakan promise:
// 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); });
sumber
Dengan pustaka xhr2 Anda dapat menimpa secara global
XMLHttpRequest
dari kode JS Anda. Ini memungkinkan Anda untuk menggunakan pustaka eksternal di node, yang dimaksudkan untuk dijalankan dari browser / anggap mereka dijalankan di browser.global.XMLHttpRequest = require('xhr2');
sumber