从URL返回innerHTML

时间:2018-01-06 12:57:17

标签: javascript html node.js httprequest

我尝试从网址获取innerHTML元素,并且我使用以下代码:

var getHTML = function (url, callback) {
    if (!window.XMLHttpRequest) return;

    var xhr = new XMLHttpRequest();
    xhr.onload = function() {
        if (callback && typeof(callback) === 'function') {
            callback(this.responseXML);
        }
    }

    xhr.open('GET', url);
    xhr.responseType = 'document';
    xhr.send();
}

getHTML('http://www.example.com/page', (response) => {
    var pageContents = document.querySelector(root).innerHTML;
})

运行程序时,出现以下错误:

if (!window.XMLHttpRequest) return;
^

ReferenceError: window is not defined

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

好的,所以你正在使用Node.js. Node.js没有任何称为窗口的东西,因为浏览器javascript上下文中的窗口是浏览器窗口。

Node.js没有它,因为它在服务器上运行,通过node.js发出http请求,你可以使用以下模块:

  1. node-fetch
  2. axios
  3. request
  4. 只需执行npm install [modulename]即可安装它们。你可以在npmjs.org

    找到他们的文档