繁体   English   中英

HttpRequest Node.js“无法设置未定义的属性'UNSENT'”

[英]HttpRequest Node.js “Cannot set property 'UNSENT' of undefined”

我有一个问题,当我尝试运行一个简单的 http 请求时,我总是收到一条错误消息。

无法设置未定义的属性“UNSENT”

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

XMLHttpRequest('https://example.firebaseio.com/.json',
   function (error, response, body) {
      if (!error && response.statusCode === 200) {
       console.log(body);        
     }
   }
);

我该如何解决这个问题?

我建议您使用标准的内置 NodeJS 方法:

这段代码:

var http = require('http');
http.get('http://nodejs.org/dist/index.json', (res) => {
  const statusCode = res.statusCode;
  const contentType = res.headers['content-type'];

  let error;
  if (statusCode !== 200) {
    error = new Error(`Request Failed.\n` +
                      `Status Code: ${statusCode}`);
  } else if (!/^application\/json/.test(contentType)) {
    error = new Error(`Invalid content-type.\n` +
                      `Expected application/json but received ${contentType}`);
  }
  if (error) {
    console.log(error.message);
    // consume response data to free up memory
    res.resume();
    return;
  }

  res.setEncoding('utf8');
  let rawData = '';
  res.on('data', (chunk) => rawData += chunk);
  res.on('end', () => {
    try {
      let parsedData = JSON.parse(rawData);
      console.log(parsedData);
    } catch (e) {
      console.log(e.message);
    }
  });
}).on('error', (e) => {
  console.log(`Got error: ${e.message}`);
});

取自这里

这将起作用。

    var req = new XMLHttpRequest()
    req.open('GET',url)

    req.onload = function(){
    if(req.status==200){
     console.log(req.responseText)
        }

    else{
     console.log(req.statusText)
       }
    }

    req.onerror = function()
    {
    console.log('Network Error')
    }

    req.send()
    })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM